About OpenF1ow
A free, open-source Formula 1 analysis platform. Per-race recaps, season trends, fuel-corrected tyre degradation, dirty-air time loss, and AI-written race verdicts. Built on the OpenF1 API.
What it does
OpenF1ow turns raw F1 timing into the kind of analysis that until recently lived only on broadcast booths and team engineering screens. Every Grand Prix from 2023 onward gets:
- A race recap with classification, top race pace, biggest gainers, prose summary.
- Full session analysis — race pace ranking, sector deltas, tyre degradation per stint, teammate gaps, dirty-air time loss, pit stop efficiency.
- An AI race verdict — a Llama 3.3 70B narrative built from the structured data. Not a recap regurgitation; an opinionated read of what actually happened.
- Driver telemetry with multi-driver comparison, dominance maps, corner-by-corner breakdown.
- Season trends — constructor pace evolution, teammate gap shifts, tyre-deg by compound across the year.
Methodology
The core calculations:
- Clean-lap pace: median lap time after filtering out outlaps, in-laps, and any lap above 1.07× the field median (the slow-lap threshold). This excludes safety-car laps and traffic-affected laps.
- Fuel-corrected tyre degradation: linear slope of lap times within a stint, with each lap adjusted by
(lap_number − 1) × FUEL_CORRECTION where FUEL_CORRECTION = 0.055 s/kg/lap × (start_fuel_kg / total_race_laps). Sprint races use 40 kg; full Grands Prix use 110 kg. The first two laps of each stint are skipped (tyre warm-up). The result is the true tyre wear rate, not the apparent one — fuel burning off would otherwise mask real degradation.
- Dirty-air time loss: per-driver median lap time within 1.5 s of the car ahead, vs. clean-air median. Quantifies how much following another car costs in lap time.
- Constructor pace gap: median of each team's two drivers' median paces, then gap-to-fastest computed across teams. Single-driver outliers don't dominate.
- Driver consistency: sample standard deviation of clean lap times. Lower = more consistent. Surfaced as the
σ column in race pace ranking.
- Cornering analysis: corner apexes detected as local minima in the speed trace. For each corner: brake-on point, brake-off point, time-to-full-throttle (≥90%) from apex.
- Driver dominance map: lap binned into 120 distance segments. Per-driver time-through-segment computed via interpolation. The fastest driver wins each segment; segment is rendered in their colour.
Data sources
OpenF1.org — telemetry, lap timing, sectors, stints, pit stops, weather, race control, session results. Cached aggressively in Cloudflare R2 so most page loads serve from cache and the OpenF1 API isn't hit on the hot path.
Groq — Llama 3.3 70B for the race verdicts. Streamed via a Cloudflare Worker so the API key never reaches the browser.
Open source
Source code at github.com/vassilispapadop/openf1ow. MIT licensed. React 18, TypeScript, Vite 6, Cloudflare Workers + Pages, R2.
What it isn't
- Live timing. F1.com and the F1 app are licensed for that. We focus on post-race depth.
- Affiliated with Formula 1. Independent project. F1, Formula 1 and related marks are trademarks of Formula One Licensing B.V.
- A paid product. No accounts, no subscriptions, no ads. If something stops working it's because the data source is rate-limited or down.