Tinkerings*.

Things I built. A working list — sometimes years late, sometimes still warm.

№ 01

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.

2026Go / Kubernetes / Operator pattern / Cloudflare Tunnels / Cloudflare Access / koshipped
→ OPEN
figure / project shot
№ 02

Drift Sector.

Browser-first multiplayer trading and territorial-control game on Cloudflare Workers — a spiritual successor to old space trading games. In private development.

2026TypeScript / Cloudflare Workers / D1 / Web Canvaswip
→ OPEN
figure / project shot
№ 03

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.

2026Go / MCP / Home Assistant / Sonarr / Radarr / Frigate / Cloudflare Tunnel / Cloudflare Accesswip
→ OPEN
figure / project shot
№ 04

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.

2026Hono / Preact / MDX / Cloudflare Workers / Viteshipped
→ OPEN
figure / project shot
№ 05

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.

2025ESP32 / ESPHome / Home Assistant / Reed switches / LilyGO TTGO T-Relayshipped
→ OPEN
figure / project shot
№ 06

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.

2018Raspberry Pi / Jenkins / Python / Xenarchived
→ OPEN
figure / project shot
№ 07

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.

2014Go / MPD / Python / Ubuntu / AngularJS / espeakshipped
→ OPEN
figure / project shot
№ 08

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).

2012Node.js / RabbitMQ / AngularJS / Twitter APIshipped
→ OPEN
figure / project shot