Washington, DC
I've worked in software for about fifteen years.
On my own time I build small, single-purpose software: iOS apps, a couple of macOS utilities, browser games, some audio work. Most of them started as something I wanted for myself.
Current
Turns a workout ics file into a desktop wallpaper: the week's sessions, the muscles each one targets, and a plate chart for the dumbbells.
Python · Pillow · NumPy
Logs workouts by voice, so you can record a set without picking up your phone.
Swift · SwiftUI · App Intents · Siri
Turns a sample of your handwriting into a TrueType font. The vectorizer and font encoder are custom.
Swift · custom TrueType encoder · contour tracing
Tracks progression for rings and bands training, where the next step is a harder leverage rather than more weight.
SwiftUI multiplatform · custom design system
A pitch trainer for singing practice. Real-time pitch detection, a vocal range finder, and melody extraction from recordings.
Swift · pYIN · Demucs · audio DSP
Earlier
A menu-bar app that adds friction to habits you want to interrupt. Trigger conditions, habit maps, and a heatmap of daily activity.
Swift · AppKit · menu-bar agent
Tracks daily habits across six areas, using data from HealthKit and Garmin. Includes widgets and a weekly goal.
Swift · HealthKit · WidgetKit
Adds a waiting period between deciding to buy something and buying it.
Swift · SwiftData · WidgetKit
A personal health data pipeline. Pulls from Garmin and HealthKit, scores daily readiness, runs on my own backend.
Python · GCP · Swift client
A small Swift package for parsing calendar files.
Swift Package Manager · MIT
An exploration game about surveying and mapping terrain.
Three.js · vanilla JS
A first-person shooter that runs in the browser.
Three.js · GoldSrc-style movement