Open to senior & staff roles · Remote (EU / UK)

I build fast, accessible web products — and the systems behind them.

Senior full-stack engineer with 9 years of experience shipping TypeScript, Go and Postgres at scale. Currently leading the payments platform team at Ledgerline.

Download résumé

I care about the unglamorous things that make software feel great: sub-second page loads, clear error states, schemas that don’t need a migration every month, and code a new teammate can understand on day one. I’ve led teams of up to eight, mentored eleven engineers into senior roles, and I still enjoy a good profiling session.

Years shipping
9
p95 latency cut
-62%
Engineers mentored
11
OSS stars
4.8k
  1. — Present

    Staff Engineer, Payments Platform @ Ledgerline

    Lead a team of six building the ledger and payouts services that move £1.2bn a year for 40k small businesses.

    • Designed an idempotent, event-sourced ledger in Go and Postgres; reconciliation incidents dropped from 14 to 1 per quarter.
    • Cut checkout p95 latency from 820 ms to 310 ms by moving pricing to an edge cache and trimming 140 kB of JavaScript.
    • Introduced RFC-driven design reviews and on-call runbooks adopted by four other teams.
    • Go
    • Postgres
    • Kafka
    • TypeScript
    • AWS
  2. — Jan 2023

    Senior Frontend Engineer @ Brightpath Health

    Owned the patient booking web app used by 2M people a month across the NHS and private clinics.

    • Rebuilt booking flow in React and TypeScript with WCAG 2.1 AA compliance; completion rate rose 23%.
    • Created a design system of 60+ components with visual regression tests and a documented token pipeline.
    • React
    • TypeScript
    • Storybook
    • Playwright
  3. — Apr 2020

    Full-Stack Developer @ Tidewater Studio

    Agency work for retail, media and non-profit clients — twenty-plus launches in three years.

    • Built a headless commerce starter in Node and GraphQL that became the studio’s default stack.
    • Ran performance audits that took three client sites from failing to passing Core Web Vitals.
    • Node.js
    • GraphQL
    • Vue
    • Redis
  4. — Aug 2017

    Junior Developer @ Northgate Digital

    Maintained PHP and jQuery sites, wrote my first tests, and learned to love code review.

    • PHP
    • MySQL
    • JavaScript

queuekit

A tiny, dependency-free job queue for Postgres with retries, priorities and a live dashboard. Used in production by 300+ teams.

  • Go
  • Postgres
  • HTMX

Tempo

A calm, keyboard-first time tracker that syncs offline-first across devices using CRDTs. 12k monthly users.

  • TypeScript
  • React
  • IndexedDB
  • Yjs

perfbudget

A CI action that fails pull requests when bundle size or Lighthouse scores regress past a budget you set.

  • Node.js
  • GitHub Actions
  • Lighthouse

schemadrift

Detects drift between your ORM models and the live database, then writes the migration for you.

  • Rust
  • Postgres
  • CLI

Languages

  • TypeScript5/5
  • Go4.5/5
  • SQL4.5/5
  • Rust3/5

Frontend

  • React
  • Next.js
  • Accessibility
  • Web performance
  • CSS architecture
  • Design systems
  • Playwright

Backend & data

  • Node.js
  • Postgres
  • Kafka
  • Redis
  • Event sourcing
  • gRPC
  • REST & GraphQL

Infra & practice

  • AWS
  • Terraform
  • Docker
  • OpenTelemetry
  • CI/CD
  • Incident response
  • Mentoring
GitHub stars
4,812
Merged PRs
386
Packages maintained
7
Weekly downloads
92k
1,204 contributions in the last year
  • Core contributor to a popular Postgres driver for Node — connection pooling rewrite.
  • Maintainer of queuekit and perfbudget.
  • Speaker at two community conferences on ledger design and web performance.

Let’s build something reliable.

I reply to every message within two working days. Recruiters welcome — please include the salary range.