Writing · Field notes
Distributed systems & architecture
State, concurrency, queues and failure: architecture decisions from production systems and the trade-offs behind them.
2026
- Don't build business logic on an expiry notificationDistributed systems4 min read
A background process that was going to be triggered by a cache telling us a key had expired. Why that's fragile, the queue-and-scheduler design we chose instead, and why we deliberately stopped short of a full event-driven rebuild.
- Last write wins, and the customer losesDistributed systems3 min read
A multi-tab bug that looked like a one-off defect turned out to be a design assumption the product had outgrown. Why I argued for fixing the model, not just the bug, and how to raise that kind of risk.