SYSTEMS INDEX · 6 RECORDS DECLASSIFIED

Systems, not logos.

Nearly everything I've built over the last sixteen years sits behind an NDA. Client names, product names and code aren't mine to publish — but the architecture is. These are the systems themselves: what made each one hard, the decisions I made, what those decisions cost, and what I'd do differently now.

One is the exception: a construction takeoff and estimating product I built for myself, start to finish. That one has a working demo you can watch.

If you'd rather ask than read, the agent knows all of this and will argue the trade-offs with you.

TAKEOFF-ENGINE ▶ DEMO Construction-Tech · Own Product · 2016 — 2019

Measuring Buildings From a PDF

A construction takeoff and cost-estimation product, solo-architected end to end and shipped in 12 months at 15–20 hrs/week.

  • A drawing is a picture; an estimate is a spreadsheet. Everything hard lives in the gap between them.
  • Measurement errors don't surface as bugs — they surface as a wrong number that looks perfectly plausible.
  • The competition is a decade of accumulated features, and there was one part-time engineer.
12 mo Concept to shipped MVP 15–20 Hours per week, one person 1 Engineer — architecture, UI, backend, DevOps
ReactReduxHTML CanvasNode.jsPythonDjangoElectron
OPEN DEEP-DIVE ⟶
DECISION-MATRIX FinTech / Payments · 2016

Routing Money Through Unreliable Rails

A payment gateway that picks a provider per transaction instead of per merchant.

  • Every payment provider in the target markets failed differently, and none failed politely.
  • Routing had to optimise cost, success rate and settlement speed at once — three objectives that disagree.
  • A retry that looks free to the user can be a double charge to the merchant.
3 Dashboards shipped 2 Native SDKs (Android, Unity) N+1 Providers, hot-swappable
PythonDjangoRabbitMQCeleryNginxAWS EC2/RDS/DynamoDB
OPEN DEEP-DIVE ⟶
TEMPLATE-FORGE Platform-as-a-Service · 2019 — 2020

A Platform That Builds Apps Instead of Being One

Non-engineers assemble, re-skin and ship native iOS, Android and PWA apps from a config plane.

  • A template system that only handles cosmetics is a theme engine, not a platform.
  • Every generated app is a permanent support liability the day it ships.
  • Access control has to be granular enough for agencies without becoming a second product.
3 Targets from one config (iOS · Android · PWA) 1 Config plane, N generated apps 3 Architects governing the wider estate
Node.jsReactReact NativePHP Symfony/YiiPython/FlaskMySQLMongoDB
OPEN DEEP-DIVE ⟶
COMPETENCY-GRAPH EdTech · AI-Enabled Learning · 2020 — 2026

Standards-Aligned Assessment That Partners Can Plug Into

Turning static curriculum into per-learner adaptive pathways, for an audience that includes minors.

  • Adaptive learning is easy to demo and hard to make defensible against a standard.
  • Partner coalitions each arrive with an existing programme that must survive integration.
  • The data includes minors, which changes every storage and access decision downstream.
weeks → days New-partner integration time E2E Encryption for sensitive records lean Team size, high availability
Node.jsReactPythonPostgreSQLAWSCI/CDE2E Encryption
OPEN DEEP-DIVE ⟶
HOT-STATE Social Gaming · Scale · 2016 — 2019

Five Million Players on a Part-Time Budget

A social game backend that stayed boring under sustained load, run by one engineer.

  • Game traffic is spiky in a way that punishes naive auto-scaling.
  • Social features turn a read problem into a fan-out problem overnight.
  • The economy has to be correct even when everything else is eventually consistent.
5M+ Registered players 80K Daily actives 1 Engineer on the backend
Node.jsPythonRedisDynamoDBAWS Auto-ScalingSQSNginx
OPEN DEEP-DIVE ⟶
TENANT-FORGE SaaS · Multi-Tenancy · 2013 — 2015

One Click, One Tenant, Zero Humans

Multi-tenant SaaS where a new institution gets its own subdomain and a fully configured stack automatically.

  • Manual tenant onboarding caps your growth at the size of your ops team.
  • Tenant isolation is a decision you get to make exactly once.
  • Half-provisioned tenants are worse than failed ones.
1 click Signup to live subdomain 0 Manual steps in provisioning 4 REST backends alongside, on GAE
PythonDjangoRailsPostgreSQLRedisCeleryNginx
OPEN DEEP-DIVE ⟶