Projects
Things I built because I wanted them to exist. Write-ups are coming one at a time; where a link exists today it goes to the code or the page itself.
Video · Python · DaVinci Resolve
Ride-video pipeline
Osmo footage, a GPS track and the phone's photos go in. A scripted DaVinci Resolve film comes out, with a route map, speed, elevation and clock overlays, music beds, chapters and a YouTube upload. Every film on the Adventures page was cut by it.
3D printing · OpenSCAD · MCP
Parametric parts through an OpenSCAD MCP server
Eight designs modelled, rendered and exported through an MCP server and printed on a Bambu H2S: a motorised Zigbee floor vent with a worm drive, a snap-fit cuboid frame, an Apollo 9 model, cases for an ESP32-S3, a BN220 GPS and a 0.91" OLED, and a PIR corner mount.
Home automation · Zigbee · Home Assistant
Zero-subscription smart lighting
A C$19 Zigbee dimmer made to work properly in Home Assistant and answer Google and Alexa, local-first, for $0 a month. A deep, reproducible build log.
Go · CLI · open source
confluence2md
Converts Confluence's fake-Word MIME exports into clean Markdown for Git, static sites and RAG pipelines. One binary with pandoc inside, zero Go dependencies, fuzz-tested, Apache 2.0. The build log covers who wrote what, Cursor or Claude Code, and the licence wobble.
Claude Code · MCP
cc-registry
A LAN-only registry so Claude Code sessions on different machines can discover and message each other.