Off-hours

The lab

Small tools, prototypes, experiments, and technical notes. I use downtime to build things, explore new approaches, and test ideas before they show up in client work.

article
Oct 2026

How this website was made

A local Qwen model, three coding harnesses, one prompt, and Claude Design to bring the best ideas together.

QwenLocal LLMsOpencodeCodexClaude CodeClaude Design
app
Oct 2026

Vinyl Scan

A local-first app for photographing, identifying, grading, and triaging a record collection, built around buying whole collections at estate sales.

ReactNode.jsSQLiteOpenAIDiscogs APIPWA
app
Sep 2026

Scout

A mobile price checker for garage sales: snap a photo, identify the item, and pull comparable eBay listings in seconds.

Next.jsOpenAIeBay APIVercel
github
Sep 2026

Island Embed

A WordPress plugin that drops a built Astro site into any page with a shortcode.

AstroReactWordPressPHPShadow DOM
app
Aug 2026

Trimm

A focused desktop app for trimming audio loops into clean samples, built for Teenage Engineering's EP series.

ElectronReactTypeScriptWeb AudioTeenage Engineering
app
May 2026

ListingLens

Proofs of concept for using vision AI to find gaps in vacation rental listings, comparing photos and copy across booking channels.

Vision AIGeminiClaudeOpenAIPlaywrightCloud Run
app
Apr 2026

Image Crop & Export

A browser-only tool for cropping one photo into every size a CMS needs and downloading them as WebP files.

ReactTypeScriptCanvas APIWebP
github
Oct 2025

Sora Prompt Generator

A structured form for building video-generation prompts: scene, cinematography, action, and audio.

ReactTailwindPrompt design
app
Jul 2025

CardWizard

An afternoon experiment in AI tarot: draw a three-card spread and get an interpretation from a language model.

Next.jsTypeScriptOpenAI