Latest Posts
Innkeeper: Why Didn't I Think of This Sooner?
A private Discord bot and an admin helper built in two days: Claude drafts each server change and waits for my go-ahead, nothing can be deleted, and a dwarven tavern keeper fights Discord's five-field form limit.
Chronicler's Companion, part 2 of 2
Chronicler's Companion: A Campaign Memory That Has to Keep Secrets
Discord admins can read every private channel, so passing D&D secrets needed a different design. Whispers over bot DMs, voice notes that catch only people who opted in, and a console that never gets data it should not show.
A Cheap Yellow Display That Tells Us What to Wear
Bringing up an ESP32 touchscreen from WSL2: a USB path WSL2 could not see, a touch library that would not compile, and a weather screen that suggests a coat or a T-shirt.
Fizzwick Sparkmender: Cleric of the Morninglord
The origin story of my newest D&D character — a gnome tinkerer turned barbarian turned failed tomb-robber, who died chasing a cursed book and came back changed. Plus a reusable CharacterStatBlock component for dropping any TTRPG sheet into a post.
Storybook Events Inspector, part 2 of 2
Every Event, No Exceptions: Setting Up storybook-events-inspector — and Catching a Real Typo With It
A spotlight on the addon from the last post: the actual shadow-DOM bug it exists to catch, a real install-to-MCP setup walkthrough, and what happened the first time I pointed an AI agent at a real Storybook with it running.
Storybook Events Inspector, part 1 of 2
From a Copy-Pasted Debug Hack to My First Open Source Package: Building a Real Storybook Events Inspector
The scrappy debug component I kept carrying between design system projects, why it never quite worked, and the day it became a real Storybook addon with a test suite, an MCP server an AI agent can drive directly, and five actual npm publishes.