Open to new roles

I design software for the moment something goes wrong.

Senior full-stack .NET engineer.

Stack
C#, .NET, Blazor
Cloud
Azure
Focus
APIs, design systems
IDDecision log
DR-01Designed a POS notification service with three urgency levels, adopted as the team's standard
AdoptedC# · .NET · MQTT

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.

Case file coming soon
DR-02Redesigned money-order printing so a failed print refunds the customer automatically
ShippedC# · .NET · MQTT

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
In progressLLM · JavaScript

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.

Case file coming soonTry the app