Skip to main content
This project is an F1 analytics product, but the thing worth grading is the engineering underneath it. The list below is the sixty-second version: each item is one claim, one line of proof, and a link to the evidence in this site. Every claim is enforced or reproducible, not asserted.

7 seasons

2018–2024 of F1 timing data ingested end to end.

149 races

Every lap decomposed and verified against the additive identity.

72 dbt models

620 tests enforce the pipeline on every build.

5 ML models

XGBoost trained, exported to ONNX, running live in the browser.

30 app features

Interactive visualizations, zero server, sub-10ms queries.

0ms server

DuckDB-Wasm + ONNX Runtime Web run the whole stack client-side.

1. A CI-enforced mathematical invariant

Every lap is decomposed into seven physically-grounded components that sum to the measured pace delta by construction:
This is not a property the docs claim. It is a test that runs on every lap in CI: assert_additive_identity fails the build if any lap’s terms miss closure by more than 0.0001 s. An enforced invariant is worth more than a stated one.
Proof: The seven-term identity explains the maths; Identity closure is the CI gate that holds it to zero.

2. A medallion warehouse, not a pile of scripts

Raw timing data flows through a staging → intermediate → mart warehouse (bronze → silver → gold): 60 dbt models, 443 tests, every model a single SELECT with dbt resolving the dependency graph. Lineage is a contract, not a diagram drawn after the fact.
Proof: Transform layer overview maps the eight model families and the DAG; the Model Reference documents every model and column.

3. Zero-server economics

DuckDB-Wasm and ONNX Runtime Web run the entire analytics stack inside the browser tab. Nothing computes at request time, so serving 30 interactive features costs nothing per user. The trade-off is stated, not hidden: a larger initial download and no row-level auth, in exchange for free, offline-capable serving.
Proof: App architecture shows the in-browser pipeline; ADR-002 / ADR-003 record the decision and its cost; Performance holds the bundle to a budget.

4. Train/serve parity

Every XGBoost booster round-trips to ONNX and is re-scored against the native model within atol=1e-5, enforced by tests. The model that trains is provably the model that serves: no silent drift between Python training and in-browser inference.
Proof: ONNX export covers the round-trip; Parity and schema is the gate.

5. Reproducible drift gates

Silent data regressions are caught before they ship. A byte-stability oracle hashes every model output build-over-build, a profile diff compares table-level statistics against a committed baseline, and a post-publish verify step rolls back automatically if the live CDN disagrees with what was built.
Proof: Data pipeline describes the staged DAG and verify/rollback; The CI Contract lists the structural and regression gates.

6. Out-of-sample honesty

Models are trained on 2018–2024 with a season-grouped TimeSeriesSplit; the most recent fold stands in as a holdout, and the 2025 season is reserved as a reproducible out-of-sample check against now-public data. Paired with an explicit, written limitations section. No varnish.
Proof: Validation shows the holdout protocol; Limitations states what the decomposition cannot do.

7. Calibrated uncertainty, not point guesses

The degradation model ships a quantile trio (p10 / p50 / p90), and the interval is checked for empirical coverage rather than assumed: nominal 0.80 coverage lands at 0.80 on held-out laps. A prediction interval that actually covers is rarer than a point estimate that looks plausible.
Proof: Calibration reports the coverage and reliability curves.

8. Infrastructure as code and real observability

The cloud footprint is codified, not clicked: Terraform provisions the GCS bucket, Workload Identity Federation, and a billing budget. Production has Sentry error tracking, web-vitals RUM, Playwright E2E against the live bundle, and written SLOs.
Proof: ADRs and Observability cover the IaC and monitoring; Performance holds the SLOs.

See it answer a real question

Highlights are claims about the build. The São Paulo 2021 case study is the payoff: the same decomposition splits Hamilton’s win into 2.91 s of strategy and 1.60 s of driver skill on the overtake lap, in seconds, from fct_lap_residuals. It is the clearest single demonstration of what the whole pipeline exists to produce.

Skills demonstrated

The competency map: each data-engineering skill linked to its evidence in the repo.

How it clears a production bar

The hiring-manager checklist: contracts, drift gates, lineage, orchestration, SLOs, cost.