I think about and work on real-time distributed systems. I write about what worked, what didn't, and the numbers behind both.

→ more about me

Latest post

The best guardrail is the one you can delete

Our AI matcher kept returning the wrong ID, so we wrote a guard to catch it. The stronger fix was to stop asking the model for IDs at all, which deleted the guard. Design intent belongs in the pipeline, not the prompt.

All posts →

Currently thinking about

🤖 Artificial Intelligence

Usage in all areas of our everyday life. What changes when an agent becomes the daily driver. Throughput, cycle time, change-failure rate — with their caveats.

📺 Real-time streaming platforms

Real-time quality analysis of video streams. Event-time semantics, the consistency boundary, the bugs that don't show up until production.

⚖️ Engineering judgment

Build vs buy, instrument-before-you-rollout, when to defer. The decisions that don't make it into postmortems but should.

📐 Architecture & infrastructure

Terraform at a startup, schema evolution, the database choices you regret six months later.

Other sections