I build data systems that people rely on. I make them easier to understand, safer to change, and simpler to run. # John Mikel Regida Current role: Lead Consultant / Lead Data Architect at Thoughtworks (Sep 2021–present, London, UK). Seeking: Staff or Principal engineering roles in London and Europe. Location: London, UK. UK work authorization. Focus: data and AI platforms — clear models, controlled change, operable interfaces. More than ten years across data, backend, cloud, web, and mobile software. Site: https://www.johnmikelregida.com/ CV: https://www.johnmikelregida.com/cv CV (PDF): https://www.johnmikelregida.com/john-mikel-regida-cv.pdf GitHub: https://github.com/johnmikel LinkedIn: https://www.linkedin.com/in/johnmikelregida/ Contact: johnmikelregida@gmail.com ## Selected outcomes From technical leadership of a national transport dataset (Jan 2023 – Jan 2026): - Technically led a multidisciplinary team of roughly 7-12 people. - 10x increase in per-submission file capacity, from one file to ten. - >=75% reduction in manual support effort and processing time for managed removal. - 12+ months production operation with zero erroneous removals. ## Core stack - Data platforms: data modelling and validation, data contracts, schema evolution, streaming, batch and backfill design, SQL, PostgreSQL, DuckDB, Parquet - AI and knowledge systems: RAG, embeddings, ontology engineering, grounded retrieval, agent tool contracts, on-device ML, Vertex AI - Cloud and platform engineering: AWS, GCP, Azure, Docker, Kubernetes, Terraform, CI/CD, observability - Languages: Python, TypeScript, JavaScript, Java, C#, Rust, C/C++, WebAssembly - Technical leadership: architecture direction, technical strategy, stakeholder alignment, mentoring, pairing, TDD and BDD ## Engineering evidence - [Leading safer change in a national transport dataset](https://www.johnmikelregida.com/evidence/platform-leadership) — A personal account of technical leadership across event-driven NaPTAN ingestion and controlled permanent stop removal. - [Safe data change](https://www.johnmikelregida.com/evidence/safe-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. - [Governed AI](https://www.johnmikelregida.com/evidence/governed-ai) — An inspectable path from explicit domain structure and bounded retrieval to explainable reasoning and constrained agent tool contracts. ## Writing - [The Hardest Operation in a Shared Dataset Is Delete](https://www.johnmikelregida.com/writing/the-hardest-operation-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. - [Using the Strangler Fig with Mobile Apps](https://martinfowler.com/articles/strangler-fig-mobile-apps.html) (martinfowler.com) — 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. ## Open-source tools - [dataproduct-kit](https://github.com/johnmikel/dataproduct-kit) — Checks whether a data product is complete, current, and safe to use before another team depends on it. - [seip](https://github.com/johnmikel/seip) — Records a planned data-shape change in Git so reviewers can see whether older software might break. - [metricspec](https://github.com/johnmikel/metricspec) — Tests whether a business number still means the same thing and shows which rows changed. ## Labs - [File workbench](https://www.johnmikelregida.com/labs/workbench) — Check the columns in a CSV, JSON, or Parquet file, ask questions with SQL, and find personal information in your browser. - [3D phone toolkit](https://www.johnmikelregida.com/labs/edge-device) — Open apps inside a 3D phone to inspect generated data, ask questions, search by meaning, and view linked facts. - [Streaming updates](https://www.johnmikelregida.com/labs/streaming) — Add bad, repeated, or fast-moving records and see how a stream can handle each update without losing or repeating work. - [Data quality toolkit](https://www.johnmikelregida.com/labs/ai) — Try seven small AI tools to understand field names, spot changes, remove personal information, and compare answers. - [Linked-fact map](https://www.johnmikelregida.com/labs/ontology) — Search public transport stops, stop types, and places, then follow their relationships in an interactive map. - [Rule-aware search](https://www.johnmikelregida.com/labs/grounded-on) — Change a rule, ask a sample question, and see what information the answer can use and why. - [Fact checker](https://www.johnmikelregida.com/labs/reasoner) — Propose a fact, check it against a small set of rules, and see why it is accepted or rejected. - [Data question tool](https://www.johnmikelregida.com/labs/copilot) — Ask questions about a small dataset using a language model that runs inside your browser. - [Ask my portfolio](https://www.johnmikelregida.com/labs/ask) — Ask questions about the published work on this site and get answers that cite the exact pages they came from. - [Agent tool checker](https://www.johnmikelregida.com/labs/mcp-forge) — Check whether an AI agent can understand a tool description, its inputs, and its required fields. - [Similar-value finder](https://www.johnmikelregida.com/labs/semantic-lint) — Paste short labels to find similar wording, repeated values, unusual values, and labels that may be wrong. - [Data profiler](https://www.johnmikelregida.com/labs/data-profiler) — See data types, missing values, repeated rows, and common values in a CSV or TSV file. - [Public transport stop explorer](https://www.johnmikelregida.com/labs/naptan) — Filter and map Great Britain's public transport stops, then check for missing, old, or invalid records. - [London line status](https://www.johnmikelregida.com/labs/tfl) — See which London transport lines are running normally and what is affecting the others.