Writing
Notes from things I’ve built, broken, and learned.
Architecture, AI/ML, and the occasional hard-won lesson, drawn from systems I’ve shipped and problems I’ve run into along the way.
Sandboxing Your AI Agents: Docker's Cage for Claude Code, Codex, and Cursor
Docker Sandboxes run Claude Code, Codex, and Cursor inside real microVMs. Here's why that's what finally let me leave agents running unattended.
When Classical ML Beats LLM
LLMs are not always the right tool. A practical guide to the cases where a gradient boosted tree, a logistic regression, or a simple anomaly detector will outperform a large language model—and cost a fraction of the price.
How I'd Design a Multi-Tenant Booking Platform From Scratch
A general pattern for multi-tenant booking platforms: pre-materialized slots, pessimistic locking at checkout, Stripe webhooks as the source of truth, and an append-only credit ledger, distilled from a real production system.
How Temporal can simplify your microservices mesh
A practical look at moving orchestration out of a chatty service mesh and into durable workflows.
Redis for Everything: A Fun Exercise in Building an E-commerce System
A thought experiment in pushing Redis past caching — using it for carts, inventory locks, search, feeds, sessions, and rate limits to see how far its lesser-known data structures actually stretch.