Portfolio
Work
Products and consulting patterns with enough detail to be useful.
Castcut
Local character films with ComfyUI. Cast → Look → Outfit → Day → Cut film.
MIT-licensed Next.js app for consistent characters, scenes, and short films locally with ComfyUI. Castcut 2.9 has talking clips with sound, Cast voices, narration, and an original score for each cut; Cast homes that keep marks, props, people, and a wardrobe; widescreen cuts with close-ups; review links; and an export to DaVinci Resolve, Premiere, or Final Cut. The classic prompt and image tools now ship separately as Prompt Studio, on a shared core package.
Read case studyProbeHarbor
Know before pipes freeze or a space floods. Hosted alerts for hardware you already own.
Open monitoring at probeharbor.dev (formerly ThermalTrace) for garages, workshops, attics, crawlspaces, and shops. Push or pull sensors (ESP32, Pico W, Arduino, and more), an ESP32 freeze sensor flashed from the browser with no IDE, freeze, heat, and flood alerts, a public pipe-freeze forecast with free freeze-night emails, household sharing, Android and iOS apps, and Free / Member / Pro / Portfolio plans.
Read case studyShelf
A self-hosted personal library: books, e-books, audiobooks, and the readers who share them.
AGPL-licensed library server on .NET 10 and Blazor. Paper books, e-books, and audiobooks as one book each, with a reading log, quotes, loans, and yearly goals; a full-screen page-turning reader, an audiobook player, Kobo and KOReader sync, and books found and fetched the way Sonarr fetches shows; shelves read from a photo of the spines, nested places, a trash and undo, and a compact view for 70,000 books. Shelf 2.14, one Docker container, SQLite inside.
Read case studyPrintBridge
Drop in a model, get a print. A self-hosted slicer and print host for the Ender-3 V3 SE.
A small self-hosted web app for a Creality Ender-3 V3 SE. It takes a 3MF, STL, or OBJ, slices it with PrusaSlicer on a built-in V3 SE profile, and sends it to the printer through a Creality Wi-Fi Box, OctoPrint, or Moonraker — with printer controls, spool tracking, calibration prints, and Home Assistant over MQTT. PrintBridge 0.3, one Docker container.
Read case studyPrompt Studio
Prompt, image, video, and audio tools for ComfyUI, running on your own machine.
MIT-licensed Next.js toolbox for ComfyUI: write a scene idea, let a local LLM turn it into a model-ready prompt, queue it, then review and keep results in one Gallery. The classic tools from before Castcut became a film app, now a separate app on the shared prompt-studio-core package.
Read case studyLegacy stack rescue & headless modernization
Stabilize first, then modernize without throwing away the data
Consulting pattern: repair aging Windows/Linux servers and C#/PHP apps, then bridge databases into a faster Next.js front end when the business is ready.
Read case study
Packages
Concrete CMS
Community Store Affirm, Date Counter, Page List Map, RTS Cinema Source, Lasso CRM (leads, inventory, appointments, tracking), and related packages — including live marketplace listings for Page List Map and Date Counter.
View Concrete CMS listingsPlugins
WordPress
Inkbound for serialized fiction, Volunteer Impact Tracker for nonprofit hours and certificates, Oral History Archive for interview finding aids, Public Shop Floor for made-to-order WooCommerce jobs — plus related plugin forks on GitHub.
View WordPress pluginsAlso on GitHub
Selected repositories
Other repos worth a look: cinema integrations, payments, desktop tooling, and older ecommerce.
KDE Plasma 6 wallpaper plugin for wallhaven.cc. Search, slideshow, multi-monitor, KRunner, D-Bus.
TypeScript / Next.js module for the CinemaSource API.
- CheapLocalDeals.comLegacy
Old PHP gift-certificate ecommerce (geo deals, merchant portal, memcached). Retired; still relevant past work.