Projects

Here’s a collection of some fun little projects I’ve written. A common thread you’ll notice: most of them run entirely in your browser — nothing you load into them gets uploaded anywhere — and most of them are open source, so you’re welcome to poke at how they work (or host your own copy).

Home Designer

Screenshot of Home Designer

A floor-plan editor that runs in the browser. Draw rooms to real measurements (it’ll happily take 12' 6", 6 1/2", or 1.2m), drop doors and windows onto the walls — complete with proper swing arcs you can flip around until the door hangs the way it actually does — and drag in any of about forty standard-size furniture pieces. While you’re moving a piece, dimension lines show the gap to each wall, so you can settle the age-old “will the couch fit there?” question before you’ve carried it up the stairs. It handles multiple floors (with a faded “floor below” overlay for lining up stairs and windows), and you can place smart-home devices like Wi-Fi APs and presence sensors with their field of view to plan out coverage.

The clever bit is how it saves: it writes a plain SVG with the whole project embedded inside it, so the same file opens in any browser or vector editor and reopens in Home Designer exactly as you left it.

It also runs inside Home Assistant as a custom integration (installable via HACS). There, the plan lives in Home Assistant (so it’s in your backups), you can attach your actual entities to it, and drop it on a dashboard as a live card — tap a light on the plan to toggle it, and rooms glow while their lights are on.

👉 Try it · GitHub

D&D Character Sheet Creator

Screenshot of the D&D Character Sheet Creator

A tool for putting together character sheets for Dungeons & Dragons.

👉 Try it · GitHub

Circuit Tracer

Screenshot of Circuit Tracer

A tool for manually digitizing a two-sided circuit board — handy when you’re reverse-engineering some gadget and need to know what actually connects to what. Upload photos of the front and back, straighten them and scale them to the board’s real dimensions, then trace the copper paths by clicking points along them. Vias and through-holes get placed on both sides at once (since, well, they go through the board), and there are pads, test points, and one-click SMD footprints for the common packages.

My favorite part: hover over any trace, pad, or via and its whole electrical net lights up while everything else on the board — photo included — fades out. That’s what makes following a connection across a busy board actually bearable. When you’re done, it exports everything as a single self-contained SVG (photos embedded) that other software can parse. And like the rest of these, it’s all client-side; your board photos never leave the browser.

👉 Try it · GitHub

DeltaScribe

Screenshot of DeltaScribe

A subtitle and lyric timing studio. Load up a video or audio file alongside an SRT, WebVTT, or TTML file and nudge the timings into place — every cue shows its Δ offset from the original file so you always know how far you’ve moved it, and the [ and ] keys latch a cue’s start or end to wherever playback currently is. For tracks that drift over time (live recordings, re-encodes), you can pin a handful of anchor points and let it stretch or compress everything in between. It also flags overlapping cues, splits cues in two, and has optional AI helpers — auto-alignment, translation, and a quality check for overlong lines and too-fast reading speeds — using either Chrome’s built-in Gemini Nano or any OpenAI-compatible endpoint (Ollama, llama.cpp, vLLM…), so even that can stay local if you want.

It’s also built to be embedded in other platforms: hand it media and subtitle URLs plus a callback URL in the query string, and it’ll POST the finished subtitles back when you hit Submit. GPLv3.

👉 Try it · GitHub

Tactical Cognis

Screenshot of Tactical Cognis

An analytical toolkit for Warhammer 40k: a Mathhammer simulator for working out expected damage, a points-efficiency matrix, a detachment and stratagem browser, and an army builder that validates your roster as you go (points limits, Rule of 3, allied caps, mandatory Warlords, Legends units, and so on). It’s already keeping pace with 11th edition changes like paid wargear and conditional “Hunter” weapon profiles.

The interesting technical wrinkle is that there’s no game data in it at all. It reads a SQLite database that you extract yourself from the official companion app, and queries it right in the browser via sql.js — it can even import the army lists you’ve saved in the companion app. The publicly hosted build ships with zero data (the build process actually fails if a database file sneaks in), so visitors upload their own.

👉 Try it · GitHub

Homefast

Homefast is a self-hostable clone of Spacefast, by Automattic — the hosting platform that AI coding agents build and publish sites to. It’s a drop-in replacement: the official sf CLI and SDK work against it unchanged (you just point them at your own instance), and it runs as a single Docker container — Caddy for automatic TLS, plus SQLite and content-addressed blob storage — on whatever domain you like. Versioned deploys with instant rollbacks, share links and password protection, _redirects and _headers files, and sandboxed per-space dynamic runtimes are all in there.

It’s designed for feature parity for my own personal use, and if Spacefast is ever closed down (like Cloudup) I’ll open up the source for folks to self-host an environment to migrate their spaces to. In the meantime, I think Spacefast is pretty cool and don’t want to detract from its viability by publicly shipping a clone.

GitHub (private)