Work
About
Contact
Let’s talk
Let’s talk
Work
About
Contact
Selected work
Case studies in product engineering: design and build, end to end.
01
Sonari
A text-to-speech layer that makes Claude Code usable with the screen off. Built for blind and low-vision developers: every session is read aloud in order, and a distinct sound tells you the moment a decision needs you.
Python
Swift
Claude Code hooks
launchd
Sonari
02
syncward
Carries your whole Claude Code setup between machines as config-as-code in a git repo you own, guarded by a secret scanner that blocks the push instead of warning you.
In progress
TypeScript
Bun
Git
Shell
syncward
03
dovetail
Catches the quality shortcuts an AI coding agent takes, in the seconds before the code lands. Two advisory hooks for Claude Code that can only advise: no blocking, no auto-edits, no network.
Python (stdlib only)
Claude Code hooks
pytest
JSONL telemetry
dovetail
04
Concert Radar
Connects to your Spotify and watches four ticketing platforms, then emails you when an artist you actually listen to announces a show near you.
Next.js 15
TypeScript (strict)
Tailwind CSS
Prisma
05
NAV Internal Event Registration
The tool NAV uses to register and run internal events. I led the build as a summer intern, and it turned into a full-time job.
Next.js
TypeScript
Kotlin
Ktor
NAV Internal Event Registration