Software engineer.
Music obsessive.

I build mobile apps, odd little machines, and fun projects. When I'm not doing that I'm chasing live music. The record on the right is pulling a random cut from my Apple Music library right now.

Spinning vinyl record. Click for a random song.

Things I've built.

Side A: the singles. Side B: the deep cuts.

Universe-3D Live

A search engine for 5.6M+ 3D models, with curated collections and print-on-demand.

SvelteKit · Tailwind · Supabase

Archive Master Live

Paste an Archive.org show and it converts FLAC to ALAC right in your browser, tags the metadata, and streams out a zipped album. No server, no uploads (source). Grew out of a self-hosted version.

React · ffmpeg.wasm · Cloudflare Pages

Multi.Chatengineer.ai

Chat with several LLMs at once, keep the best answer, carry on the conversation.

TypeScript · Vue · AWS

Slackchat

A Slack + Discord bot wired into OpenAI, Anthropic, Stability, and Gemini for text and images.

Go · AWS

Side B: Betanalysis, a stable of sports-betting models racing each other with real odds on a Raspberry Pi; My Awesome Menu Bar, a macOS ticker that rotates my teams' scores and odds next to the clock; and Sudoku Solver, a Flutter backtracking solver you can play in the browser (source).

Also in the crate: Great 78 Shuffle, Live Shuffle's little sibling for the Internet Archive's digitized 78rpm records, built after the Archive's founder emailed to say the collection would fit my setup; and Bobtalk, a text prediction model trained on 60+ years of Bob Dylan's stage banter.

Hidden track: an app that screams when you open it. That's it. That's the app.

I also write about music.

Essays and recommendations at listentothismusic.com