Play

A grab bag of things I built for fun, including some that turned into real tools and some that stayed firmly in the experiment column.

Phonon
01
JavaScriptWeb Audio APIWebGL

Phonon

Audio-reactive 3D particle orb. 800 particles form a sphere that responds to microphone input via the Web Audio API. Drag to rotate, scroll to zoom, customize colors and sensitivity.

The Useless Meeting Manifesto
02
D3.jsJavaScriptData Viz

The Useless Meeting Manifesto

A D3 data visualization of the hidden cost of unproductive meetings. See where your 40-hour workweek actually goes, do the compounding math, then discover what 260 recovered hours per year could buy you: from learning Python to finally finishing Elden Ring.

LinoLog
03
PythonLLM AgentsGoogle Sheets

LinoLog

AI-assisted catalog for linocut prints. Drop a new print folder in and it watches, auto-generates metadata using AI agents (color detection, tag suggestions, technique normalization) and logs everything into a structured Google Sheet.

Blog Garden
04
D3.jsJavaScriptJekyll

Blog Garden

A retro Farmville-inspired visualization of blog tags and their relationships. Watch your content topics grow as interconnected plants in this nostalgic 2000s farming simulation.

FIRE Calculator
05
JavaScriptTesseract.jsMonte Carlo

FIRE Calculator

Financial Independence calculator with four FIRE modes, Monte Carlo simulation, and OCR. Drop in a screenshot of your bank or brokerage account and it reads your balances automatically. All processing runs in your browser.

Chromesthesia
06
JavaScriptWeb Audio APICanvas

Chromesthesia

Synesthetic sound visualization where musical notes transform into vibrant colors. Play a piano and watch each pitch paint the canvas with its characteristic hue, using color mappings from Scriabin, Newton, and Rimington.

Linocut Color Wheel
07
JavaScriptCanvasColor Theory

Linocut Color Wheel

Interactive color theory tool designed for multicolor linocut printing. Explore reduction techniques, multi-block methods, and overprint effects. Plan your ink layers, visualize color mixing, and understand registration.

Currently Experimenting

  • Linocut as a design system - building the Linocut Color Wheel taught me how reduction printing forces you to commit to a sequence of decisions you can't undo. LinoLog came out of wanting AI to handle the cataloging so I could stay in the making. Color detection, technique tagging, Google Sheets logging, all automated.
  • Real-time audio in the browser - Phonon uses the Web Audio API to do FFT analysis on live mic input, maps frequency bands to 800 particles on a 3D sphere, and lets you rotate and zoom in real time. Turns out browsers are surprisingly capable audio environments.
  • Perfecting my Claude Code setup - building a personal layer of CLI tooling and custom MCP servers that give agents richer, project-specific context. The interesting part is long-running background agents that work through large tasks autonomously, less prompt-response loop, more set a goal and check back in.
  • CLI tooling in Go - small, fast tools that solve specific friction points in developer workflows
  • LLM evaluation infrastructure - building tools that make model behavior measurable, not just observable