Architecture & modernisation
Evolving monoliths into platforms without stopping the business, with decisions written down so they stay reviewable.
Principal Software 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 34+ years shipping software, leading architecture at Babylon Health from 2018 and at eMed UK since 2023, 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
A harness-agnostic delivery workflow that turns a request into a validated contract (brief, spec, plan and verification evidence) before anyone writes code. Run it from the accord CLI with Claude Code, Cursor or Pi, or install the Pi extension for a /accord command inside Pi. It is built around one metric: how little of an engineer’s attention it consumes.
❯ accord drive PROJ-1234 --harness claude 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 ❯ accord finish PROJ-1234 VERIFICATION COMPLETE Verdict: gaps (3/4 pass) AC-1: pass auth.test.ts:42 AC-2: pass refresh.test.ts:17 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. As architecture lead across all engineering pillars, set cross-cutting architecture, reference patterns and standards, and bridge commercial intent and technical delivery through B2B2C expansion, GLP-1 product lines, US and Canadian market entry and the Babylon legacy sunset.
Set architectural direction and standards for the engineering organisation while hands-on in the core platform.
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.
Token pruning, native REST tools that skip the model, a three-tier agent budget, and the small terminal extensions (vi mode, statusline, notify, theme) that make a Pi workflow comfortable all day.
The six natural-language skills, the fleet of phase and review agents, and the MCP servers that sit behind my Pi workflow, from the morning briefing to commit and pull request.
How a Pi extension runs a full agentic SDLC through hooks the agent never sees: shift-left gates by phase, TDD with isolated test authoring, a dangerous-command gate, plan mode and git worktrees.
Independent review agents, decision packets built for thirty seconds, and a plain list of what ACCORD has cut or only half built. How to keep an agent harness honest about its own limits.