Services
Ten services across the full stack of a modern product, from the backend and architecture underneath it to the AI, automation and infrastructure around it. Most engagements combine two or three.
The core of most of my work. Typed, tested services with API contracts that hold up as the team and the traffic grow.
The diagram before the code: service boundaries, data flow and the trade-offs written down while they are still cheap to change.
Assistants and agents that do real work against real systems, with tracing, evaluation and a sensible answer when they do not know.
Removing the manual step between two systems that were never designed to talk to each other.
The surface your customers actually touch: fast, accessible, and built on a backend that will not embarrass it later.
Commerce and content systems that survive a traffic spike, and the integrations that keep the business behind them in sync.
Shipping at AI speed without inheriting AI debt. I use agentic tooling to move fast, then apply the architecture review that keeps it maintainable.
Making deployment boring and infrastructure cheaper, so shipping stops being an event.
An honest second opinion on the system you already have: what is actually the problem, and what it will cost to fix.
Cross-platform clients with native-level performance and an offline story that actually works.
The shape each of these systems takes before a line is written. Yours will differ in the details, but the structure rarely does.
Answers from your own documents, with citations and a real answer when it does not know.
Agents that complete a process by calling real tools, with every step reviewable rather than one opaque generation.
Storefront, checkout and everything behind it, built so a traffic spike is a scaling event, not an outage.
Raw operational events turned into numbers people trust, with dashboards that stay fast as volume grows.
Whether that is one conversation, a fixed piece of work, or joining your team properly.
A focused session on the problem in front of you: architecture, scaling, a build-versus-buy call, or a second opinion before you commit budget.
Best for: A decision you need to get right
A structured look at the system you already have, ending in a written set of prioritised findings with effort estimates.
Best for: Something already built that is creaking
End-to-end ownership from architecture through to production, scoped, built, deployed and handed over with documentation.
Best for: A defined product or platform to ship
Embedded with your team as an architect or engineering lead, setting standards, mentoring engineers and owning technical direction.
Best for: A team that needs senior depth long term
A consultation call is for a decision you need to get right, such as an architecture or build-versus-buy call. Project delivery is for a defined product or platform, owned end to end from architecture through to production.
Both. Architecture and code audits are a structured look at a system you already have, ending in prioritised findings with effort estimates. Project delivery covers the full build when you need new work shipped.
That is exactly what a consultation call or an architecture review is for: an honest look at what is actually the problem and what it would cost to fix, without committing to a build.
Yes. The ongoing partner or full-time model embeds me with your team as an architect or engineering lead, setting standards, mentoring engineers and owning technical direction long term.
Describe the problem in a couple of sentences and I'll tell you what I'd actually do about it, including when the answer is that you don't need me.
Open to remote and hybrid work worldwide