Maker, software engineer, and relentless builder of tools for the games and stories I love.
I write TypeScript, mostly, and I keep building two kinds of things: software for tabletop roleplaying, and infrastructure for AI coding agents. Around those there is a long tail of experiments — a web-audio soundboard, generative maps, a deck builder, an engine for rendering Elvish and other constructed scripts, and react-jsx-parser, a JSX parser I've maintained since 2017.
I'm drawn to plain files, hackable systems, and tools that outlive their frameworks. Most of what I make ends up public, and most of it exists because I wanted the thing and it didn't exist yet.
- NerdrageTools — a platform for tabletop worlds · https://github.com/NerdrageTools
- Alforge — tooling for AI coding agents · https://github.com/Alforge
- npm — react-jsx-parser, queta





