Software that earns trust under load.
I rescue, build, and harden production systems for teams who cannot afford to ship on vibes.
Start an engagement- 16 years building production systems
- TypeScript, React, Node, Postgres, AWS
- UK · Canada · US · Sweden · Worldwide
Most AI-built apps demo beautifully and break under real load. The difference is not speed. Moving fast and moving recklessly are not the same thing. I direct AI as a force multiplier and keep the engineering judgment that decides what ships.
- most urgent
Rescue
Your AI-built or inherited app demos well but breaks under real load.
I stabilise it, find the failure modes, and harden the gaps so it survives production.
Build
You have a validated idea and need it built right the first time.
I take it from scope to a hardened, production-ready system you can stand behind.
Embed
Your team needs senior engineering judgment inside the work, not over it.
I join your team for a fixed stretch, ship alongside you, and raise the bar as I go.
Advise
You need a second pair of eyes on architecture, hiring, or a risky call.
I review the plan, pressure-test the decisions, and tell you what I would do.
Selected Works

Sense
Co-founder and sole engineer · AI business intelligence
Built an AI platform that turns plain-English questions into live answers from a business's own systems, in under 30 seconds, with no dashboards or data team required.

ValueHub
Co-founder and sole engineer · PWA · memberships · live
Built a membership PWA that gives locals exclusive deals at participating businesses, redeemed in-store by QR scan, while subscriptions fund community radio.

Regulated crypto brokerage
Multinational team · Regulated crypto brokerage
Took a regulated brokerage from prototype to a platform that cleared audit and held up under launch-day load.

AI data-analytics tool
Front end + backend · AI data analytics
Shipped an AI analytics tool that turned raw event data into answers non-technical teams could act on.

Method
Proof of method
Responsible AI use is something I demonstrate, not assert. Every change clears the same engineering controls, whether a model or I wrote the first draft.
- Review gates
- Nothing reaches production without a human reading the diff.
- Tests
- Behaviour is pinned by tests before it is trusted to ship.
- Types
- The compiler catches the mistakes a reviewer should not have to.
- Money is never trusted unreviewed
- Anything touching payments or balances gets a second set of human eyes, always.
- reviewed by hand
- not merged on vibes
Scope
We pin down what actually has to be true for this to work, and what is out of scope, before a line of code is written.
Architecture
I design the system for the load and the failure modes it will really meet, not the demo it has to pass.
Build
I ship in reviewable increments, with AI directed as a force multiplier and the engineering judgment kept human.
Harden
Tests, types, and the failure paths get the attention the happy path already had, so it survives production.
Handover
You get a system your team can own: documented, understood, and free of me as a single point of failure.
Capabilities
Engineering
- TypeScript, React, Node
- Postgres and data modelling
- Production debugging and rescue
- Test and review discipline
Systems & data
- Distributed systems and queues
- AWS architecture and operations
- Observability and incident response
- Performance under real load
Practice
- Technical leadership and mentoring
- Architecture and hiring review
- Directing AI responsibly
- Turning ambiguity into scope
Engineering judgment, systems depth, and production discipline.
Depth over breadth: this is where I am genuinely senior, not a list of everything I have ever touched.

Tell me what is breaking or what you need built. I reply within two business days with whether I can help, what the first step looks like, and what it will cost. No obligation, no sales call you did not ask for.