Tinkerings*.
Things I built. A working list — sometimes years late, sometimes still warm.
Chute.
A Kubernetes operator that turns one CRD into a public URL — Cloudflare Tunnel, DNS, Access OTP, and a cloudflared pod, all from a single kubectl apply. Built because I wanted to share an AI experiment on my laptop in five minutes.
Drift Sector.
Browser-first multiplayer trading and territorial-control game on Cloudflare Workers — a spiritual successor to old space trading games. In private development.
mcp-home.
Go MCP server that lets Claude reach into my smart home and media stack — Home Assistant, Sonarr, Radarr, and Frigate — over a Cloudflare Tunnel.
nabkey.com.
This site. Static blog and tinkerings index on Cloudflare Workers, with MDX content, a global ⌘K palette, and a hand-built editorial design system.
Garage door controller.
ESP32 + ESPHome controlling two garage doors with relay pulses, reed switches reporting true state, and a Bluetooth proxy thrown in for free. Talks directly to Home Assistant.
Sprinkler and garage controller.
A 2018-era home sprinkler controller — Raspberry Pi orchestrated by Jenkins, because Jenkins was already running on the home Xen cluster. Long since retired.
Multi-zone audiobook player.
An audiobook playback appliance with one zone per room — independent MPD instances, a Go HTTP service, AngularJS UI, espeak greetings on boot. Built for a family member.
Wedding stream.
Real-time Twitter wall for a friend's wedding — crawler → message queue → Node.js displays — with admin filter mode and starred users (bride, groom, party).