24 years. Full stack.
Still shipping.
Django and WordPress for editorial, publishing, and lead gen. Available for contract work.
What I'm good for
CMS builds and migrations
Wagtail, Django CMS, WordPress. New builds or rescuing legacy systems.
Editorial platforms
High-traffic content sites. SEO infrastructure. Publishing workflows.
Lead generation systems
Forms, funnels, integrations. Built systems that drove $100M in revenue.
Compliance-grade work
Led technical response to SEC audit at a regulated investment advisor.
Projects
Professional work and side projects.
Side Projects
picweave
ActiveCollaborative photo timeline. Upload photos separately, see them merged by timestamp and location.
whatcable.us
ActiveAuthoritative database demystifying USB-C, Thunderbolt, and 50+ connector types.
batteries.guide
ActiveComplete battery specifications database. Every consumer battery type with dimensions, voltage, and technical data.
mileweave
ActiveMulti-day road trip planner with intelligent day segmentation. 50K+ routes planned.
Browser Extensions
Tools that fix UX annoyances:
whoami.fyi
Identity analysis tool. Paste any text and discover what it reveals about the author.
Client Work
247wallst
CurrentCustom WordPress for a high-traffic financial news site. Theme, live blog tooling, real-time stock charts. Publishing under deadline pressure.
Muck Rack
2023–2025Marketing engineering with Wagtail and Django. Full stack work on the public-facing site.
Motley Fool
2007–202316 years building the systems behind fool.com. CMS infrastructure, SEO tooling, lead gen platforms that drove $100M in revenue.
Background
I've been building for the web since tables were for layout. Along the way: a FEMA contract building an accessibility-focused GIS application, 16 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. I ship code, not status updates.
Have a project?
I typically respond within a day.