AI Engineering3 min read
AI-Assisted Engineering Without Losing the Plot
A year of using AI agents on production backend code: where they genuinely compress work, where they quietly create debt, and the review discipline that makes the difference.
Engineering write-ups with the reasoning left in: the problem, the alternatives, the trade-offs, and what production taught us. Also available via RSS.
AI Engineering3 min read
A year of using AI agents on production backend code: where they genuinely compress work, where they quietly create debt, and the review discipline that makes the difference.
Architecture3 min read
How we replaced unindexed SQL filtering with a custom query DSL compiled to tenant-scoped Elasticsearch queries — the grammar, the AST, the trade-offs, and what I'd do differently.
Distributed Systems3 min read
Dual-writes between your database and Kafka will lose events — quietly, rarely, and at the worst time. Here's the outbox pattern as actually implemented, including the parts the diagrams skip.
Backend3 min read
Row-level, schema-per-tenant, or database-per-tenant? A decision framework from running schema-per-tenant in production, plus the async ThreadLocal bug that almost shipped.
Backend2 min read
We cut key endpoint latencies ~60% without touching hardware. A ranked list of what worked, what didn't, and how to read EXPLAIN ANALYZE without lying to yourself.