Backend engineer working on distributed systems, search infrastructure, streaming pipelines, and applied AI. I write about the hard parts of building software that runs reliably at scale — the tradeoffs, the failures, and what actually works in production.

Recent Writing

Designing for Scale

Modern systems rarely fail because of a single large mistake. They fail because of small assumptions that compound. When designing for scale, the first instinct is often to introduce more … Read more

Event-Driven Systems Are Not Magic

Event-driven systems are powerful. They decouple producers from consumers and allow systems to grow independently. But they also introduce new classes of problems: Ordering Idempotency Schema … Read more

Production-Ready AI

Adding AI to a system is easy. Making it reliable is not. The difference between a demo and production AI: Deterministic fallbacks Observability Cost boundaries Latency budgets AI features should … Read more

All writings →