Writing
Notes from two decades of platforms and teams.
Engineering leadership, integrations at scale, and what a fractional CTO actually does. New posts roughly twice a month — also in RSS.
Shipping WhatsApp's Native Catalog + Cart: A Field Guide to the Undocumented Gotchas
What it actually takes to get a Rails app talking to WhatsApp's Cloud API with real Catalog and Cart support — eight undocumented walls, in the order I hit them, and the checklist that would have saved me a day.
I'm Learning MCP by Building a Server Claude Can Actually Log Into
A hands-on log of building an MCP server against a real Spree Commerce store seeded with 100,000 real historical orders — a silent data-loss bug from a fast insert path, a join fan-out that made my own analytics lie by 42x, and standing up full spec-compliant OAuth 2.1 instead of skipping auth for a quick test.
I'm Learning Voice AI by Building an AI Receptionist for a Restaurant
A hands-on log of building a voice AI phone agent for restaurant ordering with no prior voice-AI background — the architecture bet that paid off, a toolchain bug with zero AI glamour, and the moment a confidently wrong AI got caught by a boring safeguard.
The API Design Checklist I Wish I Had at Integration #1
10 lessons on idempotency, webhooks, auth, and observability from 200+ production API integrations — and the checklist that came out of learning them the hard way.
Now taking fractional CTO and advisory engagements
After two decades building platforms and teams — WeWork's hyper-growth years, then eight years scaling a restaurant-integrations organization to 20,000+ live locations — I'm opening a small fractional CTO and advisory practice.