Real production work

Work

Software I build and run for our company. Courses and practice are on Learning.

I co-founded Honey Go Fix It, a residential plumbing company near Dayton, Ohio, in 2022. I started out in the field as a plumber. Today I look after the company's technology and finance, and I build the software we run on.

That code is private because it handles real customer data, so each system below links to a write-up in my portfolio: the problem, the design, what went wrong and what I'd change.

In daily use

Phone system and Android app

The company's phones on Telnyx: call routing, recordings, office texting, and a native Android calling app for staff.

Case study 06 →

AI receptionist

Answers the calls the office can't get to and calls after hours, books visits into ServiceTitan, and hands off to a person when it should.

Case study 07 →

ServiceTitan integration

A synced, read-only copy of our ServiceTitan data that our other tools read from, plus one guarded path for writes.

Case study 02 →

Ridealong field app

An Android app our technicians use to record in-home visits and get specific feedback on each one.

Case study 09 →

Books rebuild

A Python toolkit I used to rebuild the company's books and reconcile every account to its bank and card statements.

Case study 04 →

AI gateway

One internal service our tools call for AI work. The model for each job is picked on a screen, and the cost of every call is recorded.

Case study 08 →

Earlier and smaller

Open source

19 pull requests merged into other people's projects, most of them to securo. Full list

securo-finance/securo · a self-hosted personal finance app · 16 merged
  • #1227 Add a System theme that follows the OS
  • #1226 Keep the opening balance date when editing an account
  • #1225 Add South African rand (ZAR) currency support
  • #1199 Don't report a slow bank import as a failed connection
  • #1198 Compute balances from who actually paid
  • #1197 Hold a card's limit for future-dated charges
  • #1193 Stop podman-compose appending "}" to FRONTEND_URL
  • #1192 Count a shared credit line once in net worth
  • #1168 Let Generate Pending cover schedules with auto-generate off
  • #1167 Show the transaction total in the holding's currency
  • #1166 Add Macedonian Denar (MKD) support
  • #951 Add Jamaican Dollar (JMD) support
  • #950 Add Saudi Riyal (SAR) and Qatari Riyal (QAR) support
  • #940 Add Chinese Yuan (CNY) support
  • #939 Add Malaysian Ringgit (MYR) support
  • #798 Honour the number-format setting in transaction amount
apache/iceberg-python · Apache Software Foundation · 1 merged
  • #3893 Correct LICENSE paths for wheels and document the bundled Cython runtime
apache/maka · Apache Incubator, a local-first AI agent workspace · 1 merged
  • #4438 Keep MCP text clipping from splitting surrogate pairs
studie-tech/TheNinjaRPG · a browser game · 1 merged
  • #1573 Stop Countdown firing onFinish up to a second early

Side project

FYProof

With a partner: a web app that checks a video against platforms' content rules before it's posted. In public beta.

Case study 17 →

Background

Licensed Ohio plumbing, HVAC and refrigeration contractor and certified backflow tester. Before Honey Go Fix It, I was a plumbing service technician at Benjamin Franklin Plumbing and an apprentice plumber at Roto-Rooter, both in Dayton. Associate of Arts from Sinclair Community College; biomedical engineering coursework at Ohio State.