projects
Things I've built and put online.
Longplay
Twenty years of my last.fm scrobbles, pressed in the colors of the records. A loom woven from album-cover colors that you can play as sound, a wall of every week's top sleeve, genre strata, and the artists I played to death and then dropped. Type in any last.fm username and it builds the same views from theirs, all in your browser.
The Blood of K'rul
An interactive 3D map of how sorcery works in the Malazan Book of the Fallen: the Holds, the warrens and the Deck of Dragons, stacked by age and wired by blood. A spoiler shield hides anything past the book you're on, and every claim cites its source.
Hammer Mode
Build books for my Valheim builds: drawing sets, revisions, and a design system for how they get drawn. So far there's Svartkeep, a coastal hall-steading, and Lundgard, a forest manor. Drawn with Claude.
Bramble
Baby-name Tinder for two. You and your partner swipe on your own, and it shows the names you both liked. Built while we were naming ours.
Created to be free and self-hosted: one container, one SQLite file, zero accounts. docker compose up -d and it's yours.
Touch Grass
Plays any GitHub contribution graph as a step sequencer. Each week is a step and each day is a row. Busier days hit harder. Type in a username to hear it, then share the link. A dumb idea, actualized.
LegacyNext
A WoW addon that tells you where your next Legacy point is coming from: the challenges you're closest to finishing, and which of your characters is closest on each tradeskill. Legacy is WoW: Forever's account-wide talent system.
BlizzCon '26 pulled me back in after two years clean. I'd always wanted to try addon development, so this is me learning Lua on a problem I actually have.
<Grim>
Homepage for my longtime WoW guild. Established in 2004 and still rocking.