I build developer tools and dependable systems. For the past two decades, I’ve helped teams make complex software easier to understand, change, and operate.
Now I’m turning that experience into open-source libraries, release tooling, and practical writing about architecture, domain design, and engineering judgment.
Building
- ACK
Preserving why software changed from the first commit through the artifacts that shipped.
- Go libraries
Production-minded foundations for services, protocols, data, and operations in Go.
- Serein
The Hugo site you’re reading, built for calm typography, fast static pages, and focused writing.
Projects
- CDX
A strict local-first terminal interface for finding and resuming Codex conversations.
- Stackctl
A local development control plane for repeatable Laravel environments on macOS and Linux.
- Go Queue
One worker-queue model with owned integrations for the brokers teams actually operate.
Writing
- Test Process State, Not Message Choreography
A strict mock test expects five calls in order: copyload process check …
- Publishing Events Is Not Event Sourcing
Two wallet applications accept the same credits and publish the same …
- Octane Removes Repeated Boot and Adds State
A catalogue endpoint returns the same 249-byte JSON response from two …
Now
Turning two decades of software work into practical essays on architecture, domain design, APIs, and engineering judgment.
Building ACK so the reason behind a change survives the trip from commit and pull request to changelog and release evidence.
Hardening a growing family of Go libraries around explicit contracts, bounded behavior, and proof that survives production.