Writing

Notes on data engineering, AI systems, and building things that work in production.

Jul 7, 2026

Molecule to Mergers: Turning 31,000 Pharma Companies into an Explorable Acquisition Graph

Why my pharma M&A dashboard is unlike anything I've built: entity resolution across three disagreeing sources, a surgical IP audit, four tree layouts with zero guessed constants, and a Cloudflare routing discovery.

7 min readData EngineeringEntity ResolutionGraph Visualization
May 10, 2025

Building a RAG System Over Structured Biometric Data

How I built the coaching layer in AthleteOS — embedding historical training sessions in pgvector and wiring LLM APIs to answer natural language queries over structured Snowflake data.

8 min readRAGpgvectorLLMs
Apr 2, 2025

Self-Hosting n8n on Oracle Cloud: The Full Setup

A complete walkthrough of running n8n on Oracle Free Tier — Docker Compose, DuckDNS domain, Redis deduplication, and why this beats every SaaS automation tool I've tried.

6 min readn8nDockerOracle Cloud
Mar 15, 2025

dbt Dimensional Modeling for Streaming Pipelines

Dimensional modeling principles don't change just because your data comes from Kafka. How I structured the dbt layer in AthleteOS to stay clean as the schema evolved.

7 min readdbtData ModelingKafka
Feb 20, 2025

From PDF to Dashboard: Building an AI Financial Pipeline

Payment data locked in unstructured PDFs, a finance team spending 10 hours a week on manual extraction. Here's the architecture that replaced it — Claude API, Airflow, dbt, and BigQuery.

9 min readAIAirflowdbt
Jan 8, 2025

When Streaming Is Overkill (And When It Isn't)

Kafka and Flink are powerful, but most data problems don't need them. A practical framework for deciding when streaming infrastructure is actually justified.

5 min readData EngineeringKafkaArchitecture