24 years. Full stack.Still shipping.

I ship products, not status updates. Available.

Ocean Pines, MD
See the work

Projects

Web Apps

Full-stack applications with auth, real-time data, and AI.

Mileweave trip planner interface

Mileweave

Active

Multi-day road trip planner with intelligent day segmentation.

AIClaude APIGoogle MapsSupabaseNode.jsStripeJavaScriptViteTailwind
whoami.fyi search collision detection tool

whoami.fyi

Active

Search collision detector. See what recruiters find when they Google your name. Free preview, $3 AI audit.

AIClaude APIStripeSerperNode.jsJavaScriptVite
Picweave photo timeline interface

Picweave

Active

Collaborative photo timeline. Upload photos separately, see them merged by timestamp and location.

Google MapsSupabaseNode.jsStripeJavaScriptViteTailwind
Doomscrolling anonymous text sharing interface

Doomscrolling

Active

Anonymous text sharing. No accounts, no tracking, just words on a page.

SupabaseNode.jsJavaScriptVite
Propdock property maintenance dashboard

Propdock

Active

Property maintenance tracker. Vendors, appliances, and service history in one place.

ReactTypeScriptDexieViteTailwind
The Helm fleet dashboard

Helm

Active

Open-source fleet dashboard for indie developers. Uptime, deploys, databases, and git activity on one screen.

ExpressHTMXSSEEJSNode.jsTailwind
Thoughtstream idea capture interface

Thoughtstream

Active

Voice-powered idea capture. Speak to Siri, review on the web.

SupabaseNode.jsStripeJavaScriptVite
Dipshit.fyi message sharing interface

Dipshit

Active

Ephemeral roasts for people you love. Send a burn, watch them squirm.

AstroSupabaseNode.jsResendTypeScript
Verbatim public data explorer interface

Verbatim

Active

Public data, made explorable. Thirteen datasets, one interface, zero editorial.

AstroTypeScriptJSON
PAUSEDThoughtframe AI thinking partner interface

Thoughtframe

AI thinking partner. Capture fuzzy thoughts, get the right questions, find clarity.

AIClaude APISupabaseNode.jsJavaScriptVite
Splitsmart expense splitting interface

Splitsmart

Active

Split shared expenses and settle up with no awkward math.

ReactTypeScriptDexieViteTailwind
Yappyhour dog park meetup interface

Yappyhour

Active

Dog park event coordination. Find meetups, organize walks, connect with local owners.

SupabaseNode.jsStripeJavaScriptVite

Reference Sites

Spec databases built on Astro and TypeScript.

Content Sites

Voice-forward guides celebrating things that endure.

Background

Every project in this portfolio started the same way — I needed something, it didn't exist (or existed badly), and I built it. Not business plans. Scratched itches.

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 Motley Fool, and marketing engineering at Muck Rack.

I know what works at scale, and I still get excited about building things.

Primary stack

Python, Django, Wagtail

Also fluent in

WordPress (themes, plugins, editorial workflows)

How I work

Remote, async-first, minimal meetings.

The Sidekick

Frankie the Border Collie

Chief Morale Officer and walking alarm clock.

Have a project?

I typically respond within a day.