Contains NaPTAN data from the Department for Transport, © Crown copyright and database right, licensed under the Open Government Licence v3.0.
I build data systems that people rely on. I make them easier to understand, safer to change, and simpler to run.
I work across data platforms, AI and knowledge systems, cloud, backend, web, and mobile software. The evidence and tools below are things you can inspect, run, or read.
Or take the flythrough — a scroll tour of the workContains NaPTAN data from the Department for Transport, © Crown copyright and database right, licensed under the Open Government Licence v3.0.
Inspect the decisions, trade-offs, and implementation.
One anonymized professional account and two independent cases connect delivery leadership, public code, and runnable tools into data-platform and governed-AI evidence. Each case states what the evidence does and does not establish.
Leading safer change in a national transport dataset
A personal account of technical leadership across event-driven NaPTAN ingestion and controlled permanent stop removal.
Upload request → Pub/Sub event routing → Cloud Functions and Cloud Run workers → Managed removal request → Guarded cross-dataset validation → Confirm, remove, audit, and publish → Operate and align Open evidence Independent implementationSafe data change
An inspectable implementation of the controls needed to propose, review, validate, and apply a shared data change without treating compatibility as an afterthought.
Proposed data change → Versioned declaration → Consumer and policy review → Readiness validation → Metric regression checks → Controlled apply and backfill → CI evidence Open evidence Independent implementationGoverned AI
An inspectable path from explicit domain structure and bounded retrieval to explainable reasoning and constrained agent tool contracts.
Data and content → Explicit ontology → Retrieval boundary → Explainable reasoning → Semantic quality checks → Constrained agent contract Open evidenceOpen a tool and see how it works.
These demos run in your browser. They use public or generated data, and your own files stay on your device.

Test a stream of updates
Open tool ↗Add bad or repeated records, overload the stream, or rebuild old data. The counters show whether anything was lost or handled twice.
Open-source tools
Read the code on GitHub.dataproduct-kit
GitHub ↗Checks whether a data product is complete, current, and safe to use before another team depends on it.
seip
GitHub ↗Records a planned data-shape change in Git so reviewers can see whether older software might break.
metricspec
GitHub ↗Tests whether a business number still means the same thing and shows which rows changed.
zeno-mobile-runner
GitHub ↗Drives a real iPhone or Android app and returns a replayable record of what happened on screen.
What I have learned and shared.
I write about replacing software safely and making technical change easier to understand.
Using the Strangler Fig with Mobile Apps
A case study in modernising established mobile apps incrementally, applying the Strangler Fig pattern with modular architecture to cut risk and speed up time-to-value.
The Hardest Operation in a Shared Dataset Is Delete
Adding rows is routine. Removing one permanently — from a national dataset with routes, consumers, and published files depending on it — is where the design either holds or does not.
Where I have worked.
Lead Consultant / Lead Data Architect
- Technically led a multidisciplinary team of 7-12 people maintaining and modernising NaPTAN, aligning engineering, data operations, policy, transport-operator, and external-consumer stakeholders.
- Led a GCP event-driven ingestion design using Pub/Sub, Cloud Functions, and Cloud Run, with idempotency, retry and dead-letter handling, per-file status, and partial-failure isolation; delivered a tenfold increase in per-submission file capacity.
- Led the production managed-removal capability for permanent stop removal, combining BODS/TNDS safety checks, role-based authorization, explicit confirmation, auditable decisions, safe retry, and publishing safeguards.
- Reduced managed-removal processing time and manual support effort by at least 75%, with at least 12 months of production operation and zero erroneous removals.
Senior Software Engineer
Lead Developer / Architect
IT Professional / CTO
Want to talk?
If my work fits what you are building, send me an email. I am open to Staff or Principal engineering roles in London and Europe.

