Selected work

A longer list than the front page. Most of it is small on purpose.

2026

Ferrymark

A bookmarking tool with a keyboard-first interface. Everything is a shortcut; the mouse is optional. Static frontend, no build step beyond a minifier.

side projectvanilla JSIndexedDB
2025

Pinecast landing

Marketing site for an indie podcast host. Four days from brief to launch, including copy edits. Hand-written HTML, one stylesheet.

clientlandingstatic
2025

Dropstat

A minimal uptime dashboard for a friend's side project. Pings a handful of endpoints, draws one sparkline, sends an email when something stops answering.

toolGoSQLite
2024

Tilt & Trim

Booking page for a two-chair barbershop. Replaced a form that emailed nobody. Slots are generated at build time and committed as JSON — no backend to keep alive.

clientbookingJAMstack
2024

Receipt Rover

Internal expense-sorting utility for a small design agency. Drag a folder of photos in, get a tidy CSV out. Never left their office, which is the point.

internalPythonOCR
2023

Glassline

Prototype for a glazing company that wanted to quote jobs from photos. Shipped as a clickable proof of concept; they decided not to build it, which saved them a budget.

prototypeshelved

Older work is mostly under NDA or quietly retired. If you want to talk about something similar, the contact page still works.