Skip to content
View johnmikel's full-sized avatar
🎯
Focusing
🎯
Focusing

Block or report johnmikel

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
johnmikel/README.md

John Mikel Regida

Senior / Staff Software Engineer · data infrastructure and AI platforms
Lead Data Architect at Thoughtworks · London, United Kingdom

Portfolio · What I led on NaPTAN · Labs · LinkedIn · Email


I lead shared data and platform systems that need to evolve without breaking downstream users.

At Thoughtworks, I am a Lead Data Architect and have served as tech lead for NaPTAN, the UK Department for Transport's national dataset of public-transport access points. My work spans data modelling, validation, APIs, backwards compatibility, and the delivery practices around them.

My portfolio separates public context, runnable demonstrations, and personal accounts instead of presenting an employer homepage as proof of individual contribution.

Flagship cases

  • Leading safer change in a national transport dataset: my personal account of three years as tech lead on NaPTAN: event-driven ingestion on GCP (10x per-submission file capacity) and a guarded permanent-removal workflow (12+ months in production, zero erroneous removals).
  • Zeno Mobile Runner: a deterministic mobile test runner for AI coding agents. One Zig binary drives real iOS and Android targets, returns a typed pass or fail, and writes replayable evidence. No LLM in the execution path.

Open source

  • zeno-mobile-runner: the runner above, on npm, with an MCP server and six reference client languages.
  • dataproduct-kit: a CLI and GitHub Action for contracts, quality, freshness, semantics, and policy before downstream use.
  • seip: a Git-native schema-evolution intent protocol that makes breaking changes explicit and enforceable.
  • metricspec: versioned expectations and row-level diffs for business metrics.

Runnable evaluator path

External record

  • Using the Strangler Fig Pattern with Mobile Apps, co-authored with Matthew Foster and published on martinfowler.com.
  • Five Google Cloud Professional certifications earned; three active.
  • MSc Computer Science in progress at Arizona State University.

Striving for the best-case imperfection.

Popular repositories Loading

  1. zeno-mobile-runner zeno-mobile-runner Public

    Deterministic mobile UI checks for AI coding agents. One Zig binary drives real iOS/Android devices, returns a typed pass/fail, and writes a replayable trace you can gate a merge on. No LLM inside.

    Zig 5

  2. dataproduct-kit dataproduct-kit Public

    Turn data-product trust — contracts, quality, freshness, semantics, policy — into a CI gate. Python CLI + GitHub Action, DuckDB-backed, SARIF output. On PyPI.

    Python 1 2

  3. seip seip Public

    Schema Evolution Intent Protocol: a Git-native protocol + zero-dependency Node CLI/Action that makes breaking schema changes explicit, reviewable in PRs, and enforceable as a CI gate.

    JavaScript

  4. metricspec metricspec Public

    Unit tests for business metrics: pin a SQL query's expected result as a versioned contract and fail CI on a row-level diff. Python CLI, DuckDB-backed, mypy --strict.

    Python 1

  5. ontology-explorer ontology-explorer Public

    An interactive 3D knowledge graph (three.js) that re-expresses the UK NaPTAN dataset as a navigable ontology — classes, instances and relations you can orbit, search and click. Runs in the browser,…

    HTML

  6. data-copilot data-copilot Public

    A real LLM running entirely in your browser via WebGPU (WebLLM, Qwen2.5-0.5B) — paste a dataset and ask questions or get a data-quality read. No API key, nothing leaves the device.

    HTML