Apps
Small tools, built end to end
I build small, local-first tools for iPhone and Mac in Swift, and handle the whole lifecycle myself, from design and architecture to App Store release and updates.
Approach
Local-first
Healthcare taught me how much personal data is worth. These apps keep your data on your device, with export built in. No accounts, no tracking, no forced subscriptions.
Systems at a smaller scale
Health policy designs a system for thousands of people; an app designs one for a single person. Building at both scales keeps my modelling and logic sharp.
On the App Store
-
Cadence Journal iOS
Time tracking that treats the gaps in your day as data. Untracked time is surfaced, blocks carry notes on why you did something, and each day opens with an intention and closes with a reflection.
Swift 6 · SwiftUI · SwiftData · Swift Concurrency
-
Orbit PRM iOS & macOS
A keyboard-first personal relationship manager. Contacts orbit closer as you stay in touch and drift away when you don't, and a one-line command palette logs a whole interaction in a single keystroke.
Swift · SwiftUI · SwiftData · CloudKit · Custom tokenizer
-
Personal Pocket Ledger iOS
Zero-based personal finance with deliberate friction. You record every transaction yourself across debit, goal, credit and debt accounts, with reconciliation prompts and a calculator in every amount field.
Swift · SwiftUI · Encrypted local storage · CSV / JSON export
-
Klayboard iOS keyboard
A precise keyboard without autocorrect. Each tap is scored against a Gaussian touch model and letter-pair frequencies, and it adds a number row, cursor keys, text macros and clipboard history.
Swift · UIKit · Keyboard extension · Zero dependencies
-
Dicey iOS
A Monte Carlo engine for tabletop game designers. Define a dice pool with exploding, reroll and keep/drop rules, simulate up to 20,000 rolls, and compare probability distributions side by side.
Swift · SwiftUI · Combine · Swift Charts
In development
-
Thesis macOS
A modal writing editor that records why text changed, not just what changed, and keeps every deleted line recoverable.
Swift · AppKit · NaturalLanguage
-
Quill
A local-first campaign manager for tabletop role-playing games, built to sit alongside Dicey.
Swift · SwiftUI