Builds

Things I built because the problem was mine to solve

No briefs, no clients, no deadlines. Each of these started as a domestic annoyance and ended up as software I actually use. Write-ups include the stack, the architecture, and the one non-obvious thing that made each build tractable.

AI ops / GTM

A GTM system for a company of one

My consulting practice needed a CRM, a project tracker, and an ops brain — so the client was me. The operator is one person and the source of truth is a folder of YAML files. So the pipeline, the engagements, and every Claude Code session on the machine render into one live dashboard. There's a fully synthetic interactive demo you can click through.

Read the write-up
Home automation

A fully automated house

The cats' litter box, every light, every fan, the robot vacuum, the thermostat — it all runs on a mesh of home APIs and a few custom scripts. I haven't flipped a physical light switch in a while.

Read the write-up
Computer vision

Rare Coin Scanner

My grandfather left me a stack of coin albums I'd never gone through — too many of them, and I didn't know enough to know what mattered. AI made it feasible to finally look. The pipeline scans an album page, identifies each coin in its holder, validates against the slot label, and flags anything worth a closer look.

Read the write-up
Web app

Bean Dialer

A coffee app for people who own a scale. Scan the bag, it pulls in the roast profile, origin, and suggested brew parameters, then matches them to your specific grinder, dripper, and method. Logs every pour so you're dialing in, not guessing.

Read the write-up
Web / Parenting

Twin Talk

A walled-garden internet for my 18-month-old twin girls. A tiny directory of first-words videos, color-naming, and ABCs. A DNS wall blocks everything else. No autoplay, no recommendations, no algorithm — just the handful of things that support what they're actually learning right now.

Read the write-up