Architecture & modernisation
Evolving monoliths into platforms without stopping the business, with decisions written down so they stay reviewable.
Principal Engineer at eMed UK
I design and ship safe changes in regulated systems: payments, healthcare interoperability, multi-region platforms and AI-assisted delivery.
Principal Software Engineer with 30+ years shipping software, the last eight leading architecture at Babylon Health and eMed UK across a healthcare platform operating in the UK, US and Canada. I am a player-coach: I write the design doc, review the PRs, and still ship the hard fix when it matters.

Selected impact
B2B onboarding automation across 700+ client organisations and ~3M members; setup errors cut from ~7% to under 1%.
Decommissioned a UK telehealth platform with GDPR-safe exports and an immutable, access-controlled media vault.
Real-time Twitter firehose ingestion, ranking and anomaly detection for electronic trading firms at FSWire.
What I do
Cross-cutting architecture for platforms that move money, handle patient data and span jurisdictions, and the engineering culture to keep them healthy.
Evolving monoliths into platforms without stopping the business, with decisions written down so they stay reviewable.
Multi-provider, multi-region payment domains, configuration-driven pricing and zero-downtime provider migrations.
HL7 FHIR domain modelling, e-prescribing and signing, and pharmacy claims submission and reconciliation.
Back-pressure, bulkheads, autoscaling signals, graceful shutdown, load testing and cost-aware architecture.
Application security, credential rotation, GDPR operations and residency-clean, per-region stacks for new markets.
Harnesses, agent standards and skills catalogues that hold AI-generated PRs to the same checkable rules as human ones.
Open source · MIT
An agentic delivery harness for Pi that turns a free-text request into a validated contract (brief, spec, plan and verification evidence) before anyone writes code. Built around one metric: how little of an engineer’s attention it consumes.
❯ /dev PROJ-1234 add OAuth2 refresh token support pattern implement/standard align → brief.md spec → spec.json (AC-1 … AC-4) plan → plan.json (TDD ordered) tasks test → review-test → code → review-code ❯ /dev finish VERIFICATION COMPLETE Verdict: gaps (3/4 pass) AC-1: pass auth.test.ts:42 AC-3: fail no test for configurable TTL AC-4: pass eslint no-direct-jwt
Experience
Own technical strategy and architectural direction for a global healthcare platform. Principal Engineer across all product pillars, setting cross-cutting architecture, reference patterns and standards, and bridging commercial intent and technical delivery through B2B2C expansion, GLP-1 product lines, US and Canadian market entry and the Babylon legacy sunset.
Led in-house and offshore teams delivering white-label small-business SaaS for Lloyds Banking Group and RBS, combining architect and lead-engineer responsibilities.
Led engineering end to end for a real-time social and market data platform serving high-frequency and electronic trading firms.
Designed and engineered a BlackBerry FX messaging and trading application.
Led the iManage WorkSite mobile team, engineered the WorkSite FileShare prototype and led the team behind server-based email management for the WorkSite suite.
Writing
Architecture, delivery and the occasional war story, from real-time finance to regulated healthcare.
Four years on from my Babylon-era setup: agent skills in Pi, tmux and Neovim as the whole IDE, Gmail in the editor, dotfiles that build a machine in one command, a PARA notes repo as a second brain, and the same session from desk, iPad or iPhone over Tailscale and mosh.
A replacement workflow engine would have cut the licence bill by more than 90%. The honest business case said the question wasn't cost at all. How to write a platform-migration case that counts engineering time, opportunity cost and operational maturity honestly.
Entering a market that requires patient data to stay in-country doesn't have to mean cloning your whole platform. Split it into data cells and processing hubs, then hunt down the places data quietly comes to rest.
Most agent setups optimise for capability. I optimised for attention — and built ACCORD, a Pi extension that turns a free-text request into a verifiable contract before anyone writes code.