I build systems that stay understandable.
They focus on what truly matters: data, behavior, and a clear separation between logic and side effects.
After more than 30 years in the software industry from enterprise logistics to geospatial platforms and SaaS, I’ve learned that complexity usually doesn’t come from the problem itself. It comes from how we structure solutions. When code starts to mirror frameworks instead of intent, understanding fades.
My work is about keeping software direct, observable, and testable.
Expressing rules as pure functions. Letting behavior speak for itself, immutable data instead of mutable objects.
I write about architectures that stay simple even as systems grow.
About event sourcing without aggregates, feature slices instead of layers, and ways to reason about change without building abstractions around it.
Clarity is the goal. Everything else follows from that.