Get in touch

Senior software engineer · 27 years shipping

One senior engineer.
The range of a product team.

Two decades of building back-end systems taught me what’s worth building, how it should fit together, and when it’s actually done. Lately, AI tools let me bring that experience and taste to native apps, web products, and automation — with an approach that keeps them maintainable.

View my résumé →

Featured work

What I’m building

All work →

How I can help

Senior judgment, applied where it’s needed

Three ways to work together, each backed by 27 years of shipping software. You work directly with me, start to finish.

Building products

For founders and non-technical teams: idea to shipped web, mobile, or desktop app.

Agentic development

For engineering teams adopting AI agents: workflows, review practices, and CI checks that raise output without lowering quality.

Staff-level engineering

For teams with hard problems or aging systems: architecture, modernization, and mentoring.

Get in touch →

The lab

Small tools, real problems

Things I build to fix my own problems, most with an agent doing the typing. Many took an evening.

call-coachLive AI coaching on my own customer-service calls. Its first real call cut a bill in half.Ruby · Sinatra · Twilio
drive-reconRecovered about 80 GB from 17 old drives, with a ReiserFS reader written from scratch.Data recovery
squeezebox-resurrectA SlimProto server written in Go over a weekend, with gapless playback and search.Go · MediaSource ↗

All lab projects →

Writing & talks

What I've learned

Posts and talks from across my career.

Working on something interesting? Let’s compare notes.

Always happy to talk shop about software, side projects, or whatever you’re working on. I read every message and reply personally.

Or find me on GitHub