Independent developer. Most of my work is browser-side file tooling and the small applications around it: things that do one task properly, run where the user already is, and do not ask for an upload to do it.
A catalogue of file tools that run entirely in the visitor's browser. There is no upload endpoint on the site: files are read, converted and written inside the tab, which is both the privacy claim and the architecture. PDF, image, audio, SVG and document conversion, each with its own page rather than one generic uploader.
Built and shipped solo: the converters themselves, the WebAssembly and worker plumbing that keeps large files off the main thread, the search and page generation, a typed tool surface for AI agents over MCP, and a public request board on D1 where anyone can ask for a tool that does not exist yet.
Other work is under client agreements and is not published here. Happy to walk through any of it on a call.
Every one of these is deployed and open right now. Screenshots are of the running site, taken 2026-08-18.
A chat surface over the Workers AI roster, with accounts, TOTP, a per-account daily meter and paid tiers on top of a free one.
3 tiers, 3 credit packs, 5 models
Local automation tooling for macOS: a registry of what runs, a session supervisor, and a request board for automations that do not exist yet.
Web Audio instruments under one rule: pitch maps to hue, register and loudness to saturation and brightness, so you can see what you are hearing.
10 instruments
The site opens in an orbit view instead of a menu, with a one-line description per region and a make-it-normal switch, so the radial mode is opt-out rather than imposed.
Storefront on Pages Functions and D1, browsable by intention rather than by category, with a custom Shopify theme built from scratch behind it.
A walkthrough of the tutoring platform on sample data: per-student hub, parent view, weekly packets, progress reporting. No real student information anywhere on it.
A writing organizer for the California teaching performance assessment: live keyword highlighting, rubric alignment scoring, and a comparison against passing work.
Multiplication and division practice built around one teaching area at a time, on its own database so that nothing in it can reach tutoring records.
A load-order planner for console modding, where the constraint is a fixed space budget and an ordering rule set that decides whether the game starts.
Session-block objective tracking. Progress survives a reload with no account, and an objective can pay out once ever, which closed an unlimited-farming loop.
A 1998-shaped homepage of small browser games, built as a period piece rather than a pastiche of one.
A descent told in a terminal frame, where the interface is the whole of the presentation.
One page, one field, nothing kept. A writing surface built for the case where the point is putting it down rather than storing it.
A single-purpose web tool where the generic product is doing it badly. Usually browser-side, usually because the files should not leave the machine.
Dashboards, internal tools, catalogue and content sites. Deployed on edge infrastructure, handed over with tests and a runbook rather than a demo.
A build that stalled, an integration that half works, a site nobody can safely deploy. Diagnosis first, written up, then a fix you can check.
Rates depend on scope and timeline. Ask and you will get a number, not a range.
Describe the job rather than the tool you think you need. What the file is, what has to happen to it, and what you do with the result afterwards.