Available for work
I build resilient systems and independent products.
Distributed software, network optimization, and products I ship on my own.
Selected work
Two products, both live, both mine end to end.
About
Make the difficult parts solid, then make them disappear.
I work on network optimization and distributed software by day, and I build my own products in the hours around it.
The interesting problems live in the same place either way: what the state is, what happens when it’s wrong, how long it takes, and whether you can see any of it in production. I’d rather spend a week on the failure path than a day on the happy one.
None of that should reach the person using the thing. They get a screen that responds, remembers where they were, and doesn’t lose their game when the train goes into a tunnel.
How I work
The parts I care about most, and what I mean by them.
-
Distributed systems
Design the recovery path before the happy path. Consistency, ordering, and failure modes are the product — everything else is presentation.
-
Network optimization
Latency gets a budget, gets measured, and gets spent where a person can actually feel it.
-
Realtime multiplayer
Authoritative state on the server, reconnects that pick up mid-hand, and conflict resolution nobody has to think about.
-
Product engineering
Schema through deploy through the thing people touch. Owning the whole line is what makes the trade-offs honest.
-
Interaction design
If the engineering shows, it isn’t finished. The hard parts should be invisible at the surface.