Projects
Things I've built in public. Mostly for fun, since my day job is closed source.
Featured
-
Virtual Puppet Theater 2026
Your hand and voice drive one puppet; Claude improvises the other. Won “Most Creative Opus 4.7” at Anthropic's Built with Opus 4.7 hackathon and was shown at Code with Claude in London.
TypeScriptthree.jsMediaPipeWeb Speech APIClaude API
-
WebAssembly by hand 2017
Cookbook examples of hand-written WebAssembly. Somehow my most-starred repo.
WebAssemblyWAT
-
lua2wasm 2026
A Lua-to-WebAssembly compiler with a browser playground.
CWebAssemblyLua
Games, 2004–2023
Game jams are how I practise shipping: a theme, a deadline, and whatever I can finish in time.
- 2023
- 2017
- 2017
- 2015
- 2014
- 2014
- 2014
-
2004
The Newcastle Chicken Slaughter Ludum Dare 3
Stop a disease spreading from a chicken farm. Yes, the title is accurate. Java and OpenGL, in 48 hours.
Teaching & talks
- webcafe.dk (1998–2006). A non-profit, ad-free Danish web development site I ran with fellow students. I wrote its Java series, from first applets to double-buffered animation. Archived site
- Processing workshops (2011). Four evenings at Open Space Aarhus, teaching complete beginners to program through graphics. Material · Sketches
- Writing React with TypeScript (2017). A talk at the Aarhus ReactJS Meetup on why we chose TypeScript and how well it works with React. Event