Pulse in production
Apr – Jul 2026
Next.js · React · TypeScript · PostgreSQL
A kanban and plan-for-every-part system for a four-line plant. It replaced a 32-sheet spreadsheet that ran on one person's memory. Every rack and bin got a new address and about 2,800 barcoded routing cards went onto the floor. Deliveries are recorded by scan, and operators sign in with a PIN on a shared iPad.
218 merged pull requests, 64 production migrations and over 1,000 automated tests. Twelve integrity checks run every night and report problems by record. After go-live we found a barcode defect on 74% of the cards; the system repaired it through normal use with no records lost. A new operator learns it in an afternoon.
Scrap Analyzer in production
Jun – Jul 2026
Next.js · TypeScript · PostgreSQL · SheetJS
Reconciles recycler settlement workbooks against what the plants shipped: 828 line items across four plants and nine months. It traced the gap to the measurement system itself and caught a four-fold scoping error in the source data. Leadership adopted the report as the standard for all four plants.
Reconcile
Sep 2026
C# · .NET 10 · ASP.NET Core MVC · EF Core · SQL Server · Bicep
Matches a payment processor's settlement export against donation records and lists each mismatch as a specific item to fix. Exact reference matches run first, then an amount-and-date fallback that refuses to guess between two candidates. A test guarantees every imported record lands in one result and only one. My first C# project, built in about four and a half hours over three sessions, with a dated build log of what each session cost.
Smaller tools
Mar – Jun 2026
Next.js · Python · Streamlit · worker services
Relay, iPad zone ordering built on Pulse's parts master, went from decision to live orders in under 24 hours. Muster transcribed voicemail call-outs for HR. Manifest to Label turns inbound shipping manifests into Zebra labels; a coworker ran it on a live shipment without help.