Projects

Things I built because I wanted them to exist.

I’m interested in personal software: small tools that make my own life easier. Products that solve problems I actually have. If you’re building in this space or thinking about it, I’d love to talk.

  • Page Me

    shipped

    A private iPhone pager for agents, scripts, and automations, built around one private webhook.

    SwiftUI · Cloudflare Workers · APNs · MCP · TypeScript

  • Sift

    shipped

    Scan a menu to estimate nutrition, detect allergens, and rank dishes by dietary goals with on-device AI.

    Swift · SwiftUI · Foundation Models · Vision

  • Tracks which U.S. groceries actually dropped synthetic dyes.

    Next.js · Cloudflare Workers · D1 · R2

  • Transit

    shipped

    A real-time Muni and BART departure board built around the simple question: should I leave now?

    TypeScript · Next.js · MapLibre · 511 API · PWA

  • Twelve public MCP tools for BART and SF Muni departures, trip planning, fares, advisories, and vehicle positions.

    TypeScript · MCP · Cloudflare Workers · BART API · 511 API

  • Health MCP

    shipped

    A private MCP server that puts my sleep, activity, weigh-ins, and nutrition in one place, so my AI agent sees the whole picture.

    MCP · Google Health API · Lose It! · Wyze

  • Gigs

    shipped

    Bay Area shows from the artists I actually stream, pulled from four ticket sites and matched on Spotify IDs, with iPhone alerts.

    TypeScript · Cloudflare Workers · D1 · Spotify API · Web Push

  • Miata Build

    in progress

    A public build log and parts tracker for a 1997 NA Miata on a $5K budget.

    1997 NA · $5K budget · suspension · exhaust · brakes

  • Kindle Kiosk

    in progress

    A personal desk dashboard for Spotify, calendar, weather, and todos on an old Kindle Fire.

    TypeScript · Next.js · Vercel · PWA · OpenSCAD