Writing
Technical articles and thoughts on distributed systems, software architecture, and the tools that help us build better software.
Running a Multi-Agent Team With Context Rotation
How a small standing team of named AI agents, each on their own feature branch, with a hard context-rotation rule and a Skeptic gate, delivered a four-phase Micronaut platform without stepping on each other.
Phased TDD With Skeptic Gatekeeping
Running a four-phase, test-driven build with formal architectural review gates that catch the bugs your test suite cannot, and the three blockers a real review caught on a pipeline platform before any of them shipped.
Publish Before Commit: Keeping RabbitMQ Out of Your Transactions
Why message publishes belong outside the @Transactional boundary, and the rollback-silenced-message bug pattern that motivates the rule.
Replay Idempotency in Stateful Pipelines
Where replays go wrong in stateful document pipelines: persistent credentials in JSONB, content-hash deduplication, and the latent non-idempotency hiding in chained replays.
From Copy-Paste to Context Engineering
How my development workflow evolved from chatbot-assisted debugging to building agent teams, skills, and TDD pipelines with Claude Code over the course of a year.
Protocol Buffers Meet Elasticsearch
How I eliminated an entire layer of data translation by building a library that treats Protobuf message definitions as the source of truth for Elasticsearch indices.