I design software for the moment something goes wrong.
Senior full-stack .NET engineer.
- Stack
- C#, .NET, Blazor
- Cloud
- Azure
- Focus
- APIs, design systems
DR-01Designed a POS notification service with three urgency levels, adopted as the team's standard
Problem
The new POS needed one way to get a cashier's attention, from a heads-up to stopping every register.
Decision
One notification service where every message carries a severity: inform, block one register, or block the whole POS.
Outcome
The team adopted a hybrid of my two designs. Later hardware flows, like POS reboot, reuse it for verification.
DR-02Redesigned money-order printing so a failed print refunds the customer automatically
Problem
Printing a money order is slow and can fail partway. The old flow waited on the printer and had no clean way back from a failed print.
Decision
Run it as a saga: totaling continues while printing runs asynchronously, and a failed print triggers its own refund transaction.
Outcome
A failed print now refunds the customer automatically, verified on real money-order hardware.
DR-03Shipped a user-facing LLM feature: Pocket Log, a bowling analytics app
Problem
League bowlers get a printout of every shot, but the patterns behind their scores stay buried.
Decision
Use the model to find patterns and build a training plan. Keep scoring and stats in plain, tested code.
Outcome
In use on my own league nights, and shared with a teammate.