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.