Staff software engineer building durable systems, developer tools, and authorization infrastructure.
I explore architecture, API evolution, developer tooling, authorization, and AI workflows. My website connects each repository to the design decisions, experiments, and lessons behind it.
| Project | What it explores | Links |
|---|---|---|
| arch-lint | Architectural dependency rules enforced as Go build-time checks | Project notes · Source |
| go-modular-monolith | Executable module boundaries and cross-cutting concerns in Go | Project notes · Source |
| enumstruct | Exhaustive pointer-union switches for generated Go models | Project notes · Source |
| Project | What it explores | Links |
|---|---|---|
| cedar-dotnet | The Cedar policy language and authorization model in C# | Project notes · Source |
| F#kYeah | Multi-stage AI workflows expressed as executable F# graphs | Project notes · Source |
| Project | What it explores | Links |
|---|---|---|
| go-riblt | Generic rateless set reconciliation with explicit resource limits | Project notes · Source |
| fluid | Interactive two-dimensional fluid simulation and visualization in Go | Project notes · Source |
| Project | What it explores | Links |
|---|---|---|
| expr-dotnet | A safe, statically checked expression language for .NET with bounded execution | Project notes · Source |
| ValueTypes | Structural equality for domain-driven value objects | Project notes · Source |
| Functional | Small functional types and composition helpers for C# | Source |
| modular-monolith | An idiomatic .NET 10 port preserving Mixology's modular architecture and behavior | Project notes · Source |




