Payment Settlement Engine
A settlement layer built so that failure is expected, not exceptional — every step can retry without the customer ever paying twice.
Hi, I'm
A software engineer building reliable backend services, distributed systems, and full-stack products — most interested in what happens when systems get loud.
Each project is a full case study — the problem, the architecture, and the decisions that made it hold. Shipped work and system-design concepts, clearly marked.
A settlement layer built so that failure is expected, not exceptional — every step can retry without the customer ever paying twice.
One gate in front of everything
Background work that actually finishes
AI treated like any other dependency
How I'd approach classic problems — designs and explorations, not shipped products. Marked as concepts so nothing here pretends to be more than it is.
One event, many channels, exactly once
Answers grounded in your own documents
Ship dark, roll out slow, kill fast
From raw events to live dashboards
One front door for many services
Find the one line that explains the outage
Own the architecture and performance of a high-traffic product platform. The work splits across two fronts: driving latency down so the platform stays responsive under real load, and building the internal leverage — a modular platform foundation, an experimentation capability, and automated delivery — that lets the product evolve quickly without regressing.
Too much work sat on the critical path, and every new capability slowed the delivery lifecycle as complexity compounded.
Re-architected the platform around a modular, composable foundation that cut latency and shortened the feedback loop for every change that followed.
Changes were shipping without a dependable way to measure their real-world effect on users.
Built an experimentation capability so changes are validated against real usage before they ship — reducing drop-off and turning releases into measured bets, not guesses.
Fairfax, VA
Small, honest demos of the patterns behind the work — a token-bucket limiter, exponential backoff, a cache — running right here in your browser. Plus the deeper case studies they come from.
Most software works on the happy path. I spend my time on the other one — the 3 a.m. spike, the retry storm, the dependency having a bad day. The systems I'm proud of aren't the ones that never fail; they're the ones that fail in ways you can see, contain, and recover from.
That turns into a way of working. I start from the failure and design backward, so the good day takes care of itself. I'd rather ship something simple and correct than clever and occasionally wrong. And I try to leave every system more legible than I found it — explicit states, honest names, a path you can actually trace — so the next engineer can move without fear.
Start at what breaks under load, then work back to the architecture. The happy path takes care of itself.