I take a proactive approach to building software that reduces friction for the people who use it — writing tested, performant code and simplifying workflows before problems surface, not after.

Scroll
Filter
C# SQL PowerShell Cake Jenkins PowerBI
React TypeScript
Python JavaScript PostgreSQL Docker AWS REST APIs/SOAP APIs HTML/CSS

C#SQLPowerShell

Caching Layer Replacement

Replaced a discontinued Microsoft caching system under deadline pressure for a high-traffic billing platform handling hundreds of database queries per second.

Self-healing cache — zero manual intervention required on failure
C#CakeJenkinsPowerShell

Automated Build & Installer Pipeline

Designed and built a complete deployment pipeline from scratch for a multi-component billing platform — eliminating a 2–4 hour manual process prone to errors on every patch.

Deployment time reduced from 2–4 hours to 5 minutes per server
SQLC#Dapper

Data Correction Automation

Eliminated a category of manual support work consuming 2.5 full-time employees — fixing root causes, automating what remained, and empowering power users to self-serve.

2.5 FTE daily workload reduced to a single support person, 88% automated
PowerBIDAXSQLC#

Interactive Reporting Suite

Redesigned 13 static SSRS reports into interactive PowerBI dashboards — built from customer discovery sessions and user conferences to solve real workflow pain points.

Gave users work-progress visibility and manager-level performance insight for the first time
DEMO
ReactTypeScript

Job Pipeline

A Kanban-style job search tracker, built to learn skills for closing a resume gap on more modern UI development. Try the live demo ↗

First React + TypeScript project — solo build focused on habits (type safety, storage abstraction) that carry into future work

I'm a software developer who believes the best code is the kind nobody notices — because it just works, every time, without getting in anyone's way.

I work well independently and thrive in ambiguous environments. My teammates know they can count on me to unblock them first before moving on to my own work — and my customers have come to expect warm, clear communication at every step.

Currently open to new opportunities.