posts

June 6, 2026

The Real Lesson From Anthropic's AI Analytics Stack: Your Data Model Is the Product

The headline is Claude doing analytics. The actual story is the unglamorous work of making the data model usable.

April 13, 2026

What a Production Eval System Actually Looks Like

A production eval system is not a notebook. It is an operational feedback loop, and the labels are usually the hard part.

March 25, 2026

Stop Building AI Features

Some AI product work gets commoditized quickly. The durable work tends to live lower in the stack: data, permissions, workflows, and integrations.

January 27, 2026

Data Catalogs Are Only Useful If They Match Real Workflows

Metadata catalogs fail when they become polished inventories. The useful ones fit the decisions people are already trying to make.

January 13, 2026

The Semantic Layer Is Execution Infrastructure Now

Agents turned semantic layers from BI cleanup into runtime infrastructure. Many AI reliability problems are really modeling problems.

October 21, 2025

You Don't Need a Maintenance Window to Upgrade Flink

Savepoints are great for recovery. They are a fragile deployment primitive once stateful jobs start evolving quickly.

September 12, 2024

From PM to SWE: What I Gained and What I Had to Unlearn

Moving from product to engineering gave me a better angle on systems work. It also forced me to unlearn some habits I did not know I had.

June 19, 2024

Domain-Driven Pipelines Are Usually Worth the Mess

One perfect data pipeline sounds clean until every domain needs it to mean something different.

April 8, 2024

The Cake Pattern Is Probably Not What You Need

The cake pattern is clever Scala. Constructor injection is usually the better default.