Principal Engineer · Engineering Manager · O'Reilly Author
I build developer-facing infrastructure and the tooling that makes engineers faster. Currently working on the HMRC Trade Tariff — the system that classifies every physical good traded into or out of the United Kingdom.
For the last decade or so I've been working at the intersection of platform engineering, developer experience, and API design — the unglamorous layer between "the application" and "the thing that makes the application not someone else's problem."
Eight years at Heroku shaped most of how I think: support engineer to senior engineering manager, across the period when the platform went from niche to mainstream. I wrote the O'Reilly book on it. More importantly, I spent those years talking directly to developers who were confused, blocked, or building something genuinely novel — and figuring out how the platform could get out of their way.
These days I'm particularly interested in how LLMs change the surface area of developer tools — not the hype version, but the practical version. What does a well-designed API look like when the primary consumer might be an AI agent? What does observability mean when your traffic is half bots? I've been thinking about this through the lens of a public government API with real production constraints.
- Trade Tariff V3 BFF API — a clean HTTP API layer for external developers and AI clients, sitting in front of a complex legacy system
- Trade Tariff MCP server — wrapping the Trade Tariff API as a Model Context Protocol server, so LLM agents can do commodity classification natively
- OpenAPI enrichment — making the spec actually useful to developers (and models) rather than technically accurate but practically useless
Rails · Ruby · PostgreSQL · AWS (ECS, CloudWatch, Lambda) · Terraform · OpenSearch · GitHub Actions
📖 Heroku: Up and Running — O'Reilly, 2013
If you're working on developer tooling, platform engineering, or AI-native API design and want to compare notes — I'm always up for that conversation.






