Skip to content

I built every one of these myself, start to finish. None of it is client or company work, it's all mine. (Well, the law office is my dad's, but I built that one too.)

  1. Spectrle Games in action

    Spectrle Games

    A daily-puzzle game paired with a print-on-demand business model. Each game shows a "Spectrle" (a spectrum of colors sampled from hundreds of frames of a film or video game) and you try to guess the title, getting hints along the way. Afterwards, you can buy a print, mug or shirt featuring this unique visual.

    Built with

    • React
    • TanStack Router
    • TanStack Query
    • TypeScript
    • Vite
    • Firebase
    • Tailwind
    • Sharp
    • Satori
    • Framer
    • Capacitor
  2. MTG Herald in action

    MTG Herald

    A native multiplatform app (Windows, iOS, Android) that listens through the microphone during a Magic game, recognizes spoken card names with a fine-tuned Whisper model plus Silero voice-activity detection and phonetic matching against the Scryfall catalog, and streams in matching cards in a continuously stacking carousel.

    Built with

    • Kotlin
    • Compose Multiplatform
    • whisper.cpp
    • ONNX Runtime
  3. UltraLeague in action

    UltraLeague

    Create and run any kind of league: build rosters, draft players, schedule games, track standings, and see real-time updates. Drop in support for Discord integration as well.

    Built with

    • React
    • TypeScript
    • TanStack Router
    • Firebase
    • Tailwind
    • Discord Webhook
  4. Charles Sanford Law Office in action

    Charles Sanford Law Office

    A fast, static marketing site for a small law firm: home, services, team, testimonials, community, and intake forms. Designed and built end to end with Astro. I also designed the logo. Check out the Lighthouse scores!

    Built with

    • Astro
    • Tailwind
    • TypeScript