I lead architecture across all engineering pillars for a healthcare platform operating in the UK, US and Canada, covering regulated patient data, prescribing and real payment flows.

My specialism is safe change in regulated systems: payments, e-prescribing, FHIR interoperability, multi-jurisdiction data residency and AI-assisted delivery. I favour durable architecture over heroics and written reasoning over authority.

Before healthcare I built white-label banking platforms for Lloyds Banking Group and RBS, ingested the entire Twitter firehose for trading firms, developed mobile trading apps at HSBC, and spent a decade in document and email management for the City’s leading law firms.

My current focus is delivery assurance for AI-assisted engineering: independent review, evidence against acceptance criteria and explicit release decisions. I architected an internal development harness at eMed and wrote ACCORD, an open-source CLI and Pi extension for contract-led delivery. Alongside that tooling, I am researching delivery risk and proposing risk-tiered controls for regulated systems; those controls are not yet adopted policy.

Current focus

What I am working on now

Last reviewed . Status describes the work, not a promise of production readiness.

Agentic delivery assurance

Research & proposed controls

Studying where defects enter delivery and proposing risk-tiered review and release controls. ACCORD is a working tool, not evidence that the organisational policy has been adopted.

Progressive regional deployment

Proposed architecture

Developing a data-cell and processing-hub model for regional expansion, with explicit storage, processing and operational trade-offs. The proposal remains open for collaboration and decision.

Platform engineering

Delivered & in progress

Medley and the backend monorepo put the developer-experience strategy into practice. Work to let authorisation scale independently is in progress, not a completed production change.

Selected outcomes

Track record

1K+
GDPR access and erasure requests, within SLA
4M+
patients on the Babylon platform
Shared pricing
API and partner configuration portal in production

How I work

Principles

Design grounded in delivery

Test architectural decisions against production behaviour, migration constraints and the experience of the people building and maintaining the system.

Written reasoning over authority

Record the options, evidence and trade-offs in design documents, RFCs and ADRs, so decisions can be challenged and revisited when circumstances change.

Build on what works

Start with established patterns and the team's experience. Make build-vs-buy decisions on evidence, and introduce something new when the problem warrants it.

Commercial-to-technical translation

Work with teams to turn commercial commitments into delivery options, making costs, risks and constraints explicit and labelling exploratory work honestly.

Leadership

A quiet kind of leadership

I lead by example and listen before I speak. Before offering a view, I want to understand the problem and hear from the people closest to it.

When I do offer one, I show my working. I write down the options, the evidence and the trade-offs, in design documents, RFCs and ADRs, so a decision can be questioned, challenged and revisited long after the meeting has ended. A written case can be improved by anyone. A confident opinion mostly can’t.

"Standing on the shoulders of giants" captures how I think about engineering. We build on other people's ideas, tools and experience. My contribution is to connect that knowledge to the problem in front of us, give credit and help the team leave something others can build on.

  • Work alongside the team: stay hands-on with production code, incidents and migrations rather than directing from a distance.
  • Make reasoning visible: record the why as well as the what, so the team can build on it.
  • Label exploratory work honestly, so people can push back early.
  • Share understanding through pairing and walk-throughs, learning from each other and leaving people room to find the answer themselves.
  • Share credit for good outcomes and take responsibility for my part when things go wrong.

Architecture Guild and reference patterns

Set up a cross-functional guild and authored reusable patterns with template code (Strangler Fig, CQRS, Event-Driven, Adapter, Facade), built into onboarding and design-review checklists.

Ruby Guild

Revived the company-wide guild as a community of practice: performance tuning, TDD workshops, shared-library reviews and a backlog any engineer could add to.

Deep dives across teams

Cross-team sessions where one team walks another through its architecture. They break down silos and surface mismatched assumptions early.

Mentoring

One-to-ones, pairing and domain-design walk-throughs for engineers from junior to staff level, focused on architectural thinking as much as technique.

Career

Experience

  1. Sep 2023 – present

    Principal Software Engineer · eMed UK (continued Babylon’s UK business)

    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.

    • Architected and shipped a payments domain replacing provider-coupled code with a pluggable adapter model, order orchestrator and configuration-driven pricing engine across US and UK surfaces. Pricing standard: one list price, many coupons
    • Authored the pricing-plan standard (Stripe prices as list prices, every adjustment a coupon) and consolidated US checkout onto a single plan-configuration contract, ending pricing drift.
    • Reviewed the design for in-house NHS e-prescription signing, covering key management, signing security and rollout risks. The team shipped the replacement for the third-party service. Bringing e-signing in-house
    • Designed pharmacy claims submission and reconciliation with CVS, modelling NCPDP batches and X12 835 remittance natively in FHIR.
    • Designed a reusable programme-hold model for US B2B pause and UK refill delay: time-bounded holds with declarative policies, layered over care plans.
    • Used load tests to identify capacity limits and unsafe autoscaling, then designed admission control, bulkheads and fan-out budgets. The back-pressure prototype and wider stability work remain unfinished. Why load testing autoscaling is unsafe
    • Authored Canadian deployment and data-residency designs, separating in-country storage from processing boundaries. The broader progressive-jurisdiction architecture remains a proposal, not a completed rollout. Data residency without a full stack
    • Identified and remediated a critical cross-tenant authorisation vulnerability and led a platform-wide credential rotation programme. Rotating credentials without downtime
    • Built the first partner configuration portal, generating programme, pricing and organisation configuration PRs, then handed development to another engineer. Separately designed partner single sign-on and a config-driven app launcher.
    • Authored the identity-provider build-vs-buy analysis that informed the decision to retain the incumbent rather than migrate. Commercial owners made the decision and handled renegotiation.
    • Decommissioned a UK telehealth platform serving 4M+ patient records and migrated active Stripe subscriptions between accounts with runbooks, validation and rollback. Decommissioning a telehealth platform
    • Architected an internal agentic development harness used daily to shorten the spec-to-PR cycle, and authored the open-source ACCORD harness. Why the substrate was the problem
  2. 2018 – Aug 2023

    Principal Software Engineer · Babylon Health

    Set architectural direction and standards for the engineering organisation while hands-on in the core platform.

    • Helped modernise the core Ruby monolith into a multi-tenant microservices platform that scaled to serve 4M+ patients.
    • Built a microservice-based integration hub for third-party insurers, speeding partner onboarding.
    • Designed data-governance primitives for GDPR compliance, including jurisdictional data partitioning and automated key rotation.
  3. 2014 – 2018

    Lead Software Engineer · Smarta

    Led in-house and offshore teams delivering white-label small-business SaaS for Lloyds Banking Group and RBS, combining architect and lead-engineer responsibilities.

    • Re-engineered a multi-tenant .NET estate to Ruby on Rails with full white-labelling for tier-one banks.
    • Built a company-formation product integrating Companies House and HMRC XML gateways.
    • Delivered SSO and provisioning integrations with Sage, FreeAgent, LivePlan and Salesforce.
  4. 2011 – 2014

    Principal Software Engineer · FSWire

    Led engineering end to end for a real-time social and market data platform serving high-frequency and electronic trading firms.

    • Ingested the full Twitter firehose: 70M+ messages a day, ~2,500/s bursts and 800,000 standing queries.
    • Ranked content for relevance and surfaced sentiment shifts and volume anomalies as candidate trading indicators.
    • Shipped mobile and tablet clients plus REST and streaming APIs.
  5. 2009 – 2011

    Senior Mobile Engineer · HSBC

    Designed and engineered a BlackBerry FX messaging and trading application.

  6. 2006 – 2009

    Principal Software Engineer · Interwoven (acquired by Autonomy)

    Led the iManage WorkSite mobile team, engineered the WorkSite FileShare prototype and led the team behind server-based email management for the WorkSite suite.

  7. 2005 – 2006

    Founder & Principal Engineer · Progressive Mobile Systems

    Built mobile workforce and legal email management solutions; the company’s assets were acquired by Interwoven.

  8. 1998 – 2005

    Systems integration & software development · Freelance

    Document, content, knowledge and email management and enterprise search for the financial and legal sectors, including Allen & Overy, Freshfields, Linklaters, Lovells and Slaughter and May.

  9. 1992 – 1998

    Team Lead · Resolution Systems

    Delivered document and email management solutions for legal and financial clients.

  10. 1990 – 1994

    BSc (Hons) Computer Science · City University, London

Toolbox

Technical stack

Languages

  • TypeScript / Node
  • Ruby (Rails)
  • JavaScript
  • Python
  • Java
  • Go
  • Bash / shell
  • Lua (Neovim)

Earlier career

  • C# / .NET
  • BlackBerry (Java)
  • Objective-C (iOS)
  • T-SQL
  • C / C++
  • ASP.NET
  • XSLT

APIs & data

  • GraphQL (Apollo)
  • REST
  • HL7 FHIR
  • DynamoDB
  • OpenSearch
  • Postgres
  • MongoDB
  • Redis / Valkey
  • Kafka

Platform

  • Kubernetes
  • Flux (GitOps)
  • AWS (KMS, SSM, Lambda, SNS/SQS)
  • Docker
  • Terraform
  • Nx monorepos
  • LocalStack
  • Tilt
  • Temporal
  • Camunda

Identity & integrations

  • Auth0
  • OIDC / OAuth 2.0
  • SAML 2.0
  • Salesforce
  • NCPDP
  • X12

Payments

  • Stripe
  • Braintree
  • BACS
  • Multi-provider adapters

Testing & delivery

  • Jest
  • Vitest
  • Playwright
  • Cypress
  • k6
  • RSpec
  • Gherkin (BDD)
  • CI/CD
  • pre-commit
  • gitleaks

Observability

  • OpenTelemetry
  • Datadog
  • Sentry
  • Metrics, tracing and logs

Frontend

  • React
  • Next.js
  • Tailwind CSS
  • Radix UI
  • urql
  • Zod

Agentic tooling

  • Pi
  • ACCORD
  • AGENTS.md
  • Bun
  • Biome

Developer environment

  • Neovim
  • tmux
  • mosh
  • Ghostty
  • zsh / fish
  • ripgrep
  • fzf
  • GnuPG / pass
  • Astro