Selected Work
Case studies of personal projects I designed and built — problem, constraints, decisions, and what shipped.
Product Owner & Engineer
Stream of Worship
Building a Mandarin worship tool for small group leaders, from accurate timed lyrics to continuous songsets ready for offline playback.
Live web app with 445 songs cataloged and over 100 manually verified for lyrics and timing
- Next.js 16
- FastAPI
- AWS Lambda/SQS
- Neon Postgres + pgvector
- Cloudflare R2
- PyTorch / Demucs
- Jetpack Compose (Android)
Designer & Author
GoogleAds Analyst Skill
A Claude agent skill for repeatable Google Ads performance analysis, change attribution, and user-approved account updates.
Generates white-labeled Google Ads performance reports with anomalies highlighted.
- Claude Agent Skills
- mcc-gaql CLI suite
- prompt engineering
- pandoc / weasyprint
Creator & Engineer
HandsOff
A macOS menu-bar utility that blocks keyboard and mouse input while keeping the screen readable, built to watch coding agents run without curious kids interrupting them.
Blocks keyboard and mouse input while keeping the screen visible
- Rust (CoreGraphics event taps, CFRunLoop)
- AppKit / menu-bar UI
- GitHub Actions (macOS CI, DMGs)
Creator & Maintainer
MCC GAQL Tool
Rust command-line tools for querying multiple Google Ads accounts, making approved changes, and generating GAQL from natural language.
Queries campaign metrics across linked Google Ads accounts and generates GAQL from plain English.
- Rust (workspace, edition 2024)
- tonic gRPC
- Polars
- rig-core / FastEmbed
- LanceDB + Arrow
- Cloudflare R2