24 years. Full stack.
Still shipping.
I ship products, not status updates. Available.
Contract full-stack engineering for teams that want it shipped, not managed: TypeScript/Node, Postgres, Python, WordPress. Agent-driven delivery with guardrails, cost measurement and output verification.
Sites
Mileweave
Full-stack app in production: auth, Stripe subscription, Postgres on Neon, Claude API.
reductio.us
Every question graded against the statute it cites. 471 citations verified at the evidence level.
Verbatim
Primary-source data explorer. Thirteen public datasets, one interface, zero editorial.
Helm
Readable open-source code: an Express 5, EJS and HTMX fleet dashboard. MIT, with a live demo.
whoami.fyi
A paid AI product in production: a $3 Claude-run audit behind Stripe checkout.
Picweave
Collaborative photo timeline. Upload photos separately, see them merged by timestamp and location.
Curios
Priors
Give four Claude models a black circle and one word, “improve,” 2,608 times, each in a fresh session. Nobody says what better means, so what each one reaches for is its prior.
Premia
Run an insurance company for a hundred years. Charge too little and the claims eat you. Charge too much and only the risky houses stay.
Orrery
A drum machine laid out like a solar system. Every ring is an instrument with its own number of steps, so a seven-step loop drifts against a sixteen and the pattern never quite comes back around.
Geigensatz
A keyboard instrument that never existed: eighty-eight strings, a rosined bow beside each, and every bow on one rack driven back and forth by a single crank.
Crank
An engine’s voice is timing. Give CRANK the geometry (cylinders, stroke cycle, bank angle, crank throws, firing order) and hear the engine purr or hum or thump.
Incognita
A world that exists only while someone is looking at it. The first visitor wakes a sleeping server, the ground is decided at the moment somebody looks at it, and when the last person leaves the machine shuts itself off and the world is gone for good.
Tools
Invoisaurus
Invoice generator. Web UI in, PDF out. Try the demo, or run it yourself.
clrk
A drop folder that files itself. Reads each document, files it by your rules.
Liberator
Removes paste-blocking, sticky headers, and selection restrictions.
rtfm
Local markdown documentation server. Zero network dependencies.
arcweave
Text config → SVG line chart generator.
whyis
CLI etymology reference.
Client Work
Current Engagement
2026 – presentCustom stock chart automation extension for Adobe Illustrator: React + TypeScript panel inside Illustrator, Node/Express API, Python parsing service running against OpenAI API on the backend.
247wallst
2025Custom WordPress for a high-traffic financial news site. Theme architecture, versioned live-blog templates, real-time stock charts, Core Web Vitals and accessibility work. Publishing under deadline pressure.
Muck Rack
2023–2025Marketing engineering with Wagtail and Django. Owned the public-facing marketing site and the lead generation systems behind it.
The Motley Fool
2006–202317 years building the systems behind fool.com. Hired as the first front-end developer, led a 16-person UI team, then chose the IC path: CMS infrastructure, SEO tooling, lead gen platforms that drove $100M in revenue.
The Story
I've been building for the web since tables were for layout. Along the way: a FEMA contract building an accessibility-focused GIS application, 17 years at The Motley Fool, and marketing engineering at Muck Rack.
I know what works at scale, and I still get excited about building things.
Remote, async-first, minimal meetings.
The Sidekick
Chief Morale Officer and walking alarm clock.
Have a project?
I typically respond within a day.