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.
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
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
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.
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