./Stack Your Cairn
● liveA career wins ledger that talks to your AI assistant.
Production career ledger for logging wins and turning them into promo packets, JD-tailored résumés, and reviews — drafted by your own AI through a hosted, zero-install MCP connector (paste one URL into claude.ai), with every bullet traced to a verified win.
★ One Repository interface runs it local-first (IndexedDB) or cloud-synced (Postgres + RLS); 12 MCP tools and 206 automated tests — and zero in-product AI calls, so marginal AI cost is $0 by design.
- React 19
- Vite
- TypeScript
- Tailwind
- Supabase
- MCP
visit ↗
./Music Visualizer
● liveThe game world dances to its own soundtrack.
RuneLite plugin that parses the game's MIDI music in real time and paints nearby scenery with chromatic pitch-to-color mapping, synced to the track. Published on the RuneLite Plugin Hub.
★ 50 installs in its first week on the Plugin Hub.
github ↗plugin hub ↗
./RuneHero
● liveGuitar Hero, but the charts are mined from the game's MIDI.
Rhythm minigame inside Old School RuneScape: a chart generator reduces the live track's polyphonic MIDI to a playable melody across five rune-themed lanes, with difficulty tiers, streak multipliers, and an end-of-song rank card.
★ Smart mode auto-picks the instrument channels carrying the melody. 25+ installs in its first week live on the Plugin Hub.
github ↗plugin hub ↗
./RuneTrivia
● liveMultiplayer trivia across an entire game world.
Head-to-head trivia inside Old School RuneScape: right-click a nearby player to challenge them, an NPC hosts, first to three points wins. A RuneLite plugin client, an authoritative WebSocket match engine (Node + SQLite, on Fly.io), and a Next.js HiScores site — live on the Plugin Hub.
★ A complete multiplayer system — plugin, real-time backend, and public site — designed, built, and deployed solo.
- TypeScript
- Node.js
- Next.js
- WebSocket
- Java
visit ↗github ↗plugin hub ↗
./Black Box
open sourceA combat flight recorder for Old School RuneScape.
RuneLite plugin that continuously buffers game state and, on death or hotkey, dumps the last N ticks — prayers, gear, HP, boss mechanics — as structured JSON built for AI post-mortem analysis. Read-only and ToS-safe.
★ Designed from day one as an AI data source: the output schema is the product.
./Black Box MCP
open sourceThe AI coach that reads the flight recorder.
MCP server exposing Black Box encounter logs to Claude — list encounters, pull the latest death, analyze prayer switching — with prompts for combat coaching and post-mortems.
★ Pairs with the Black Box plugin to close the loop: play, die, ask the AI why.
./Sotetseg Trainer
open sourcePractice the maze without losing your loot.
RuneLite plugin that procedurally generates Theatre of Blood maze runs — built on the community-reverse-engineered algorithm — so players can drill the maze risk-free.
./Secret Share
hobbyPaste a secret, send a link, watch it self-destruct.
Web app for sharing credentials and sensitive data safely: paste a secret, get a one-time link, and the payload is destroyed the moment it's opened. Encrypted end to end.
- TypeScript
- React
- E2E encryption
./Homemade Transit Sign
hobbyA real bus departure board for the living room.
LED matrix sign on an Adafruit MatrixPortal S3 that fetches live TriMet arrivals and renders them like a station departure board, with WiFi diagnostics and a test suite.
- Python
- CircuitPython
- Adafruit MatrixPortal S3