I design the systems other systems rely on.
Software architect writing about domain-driven design, event sourcing, and the craft of systems that outlast their authors. Founder of AnvilaTech.
LATESTEvent sourcing in PHP without the framework tax· 14 MIN READSagas vs Temporal: where I actually land
Both solve orchestration. They ask you to pay in different currencies — operational surface, cognitive load, vendor gravity. Here's the ledger I keep.
Bounded contexts are a people problem
The hardest part of domain-driven design was never the aggregates. It's admitting where one team's language ends and another's begins.
When I reach for Go next to a Symfony core
Not everything wants to live in the monolith. A short field guide to the seams where a small Go service earns its keep.
A minimal event-sourcing toolkit for Symfony — append-only store, projections, and replay without inheriting a framework's worldview.
A tiny saga coordinator in Go: durable steps, compensations, and back-pressure, with no external workflow engine required.
Open-source toolkits for event sourcing, sagas, and domain modeling.
All projects →I'm a software architect. I build event-driven systems in PHP/Symfony and Go — order ledgers, fulfillment orchestration, anti-corruption layers over legacy cores — and I write about the judgment those decisions demand.
I founded AnvilaTech to do that work with a team. This site is where I think in public: essays on domain-driven design, event sourcing, and AI features that survive real users.