04 / Selected work

F1 Race Replay

AIData VisualizationInteraction Design

A physical race display where deterministic telemetry owns the facts and local AI shapes the story.

What could an alternative radio for Formula 1 be? F1 Race Replay explores a data-native answer: a dedicated object that stays with the race, keeps the whole field in view, and comes forward only when something worth noticing changes.

F1 Race Replay running.
My role
Concept, replay system & display interaction
Context
Working local prototype
System
Telemetry · local AI · deterministic replay

A race you can tune into

I conceived and built the replay system, its physical-display interaction and the boundary between race data and AI-authored chapters. The result is a working local prototype, with deterministic playback after story preparation.

A conventional broadcast decides where attention goes, one camera cut at a time. F1 Race Replay builds a different kind of signal from telemetry: the race is reconstructed on its circuit, the live order remains legible, and short documentary chapters surface when its shape changes.

Here, radio describes a relationship rather than an audio format: something you can tune into, leave running, and trust to call your attention at the right moment. The square display keeps every driver moving, while the live top five and colour-coded markers make groups, gaps, pit cycles, and converging battles apparent at a glance.

The full Australian Grand Prix field reconstructed on the circuit.
The full Australian Grand Prix field reconstructed on the circuit.

A signal with an editor

For the signal to feel authored rather than endless, a deterministic event ledger detects starts, sustained battles, confirmed passes, pit cycles, tyre changes, weather transitions, race-control events, retirements, comebacks, and the finish.

A local model acts like a programme editor, not a commentator or source. It can choose which event IDs create the clearest rhythm, but it cannot invent telemetry, rewrite the result, or add unsupported facts. The selected chapters and their reasons are stored in versioned story and audit files before replay, keeping AI outside the live timing path.

When the signal narrows

Most of the time, the station holds the entire race. When a pass begins to form, the signal can narrow before the position swap: a square reconstruction inset isolates both trajectories, preserves driver colours, fades the rest of the field, and adds only the telemetry needed to understand the move.

F1 Race Replay showing an overtake reconstruction on the local square display.
F1 Race Replay showing an overtake reconstruction on the local square display.
A confirmed pass reconstructed with a connected focus inset and compact live telemetry.
A confirmed pass reconstructed with a connected focus inset and compact live telemetry.

The reconstruction uses stable order before and after the swap, equal-lap checks, pit exclusion, comparable track progress, projected trajectories, and proximity constraints. If those signals do not agree, the system does not show an overtake inset.

Broadcasting the archive honestly

An alternative F1 radio should also be able to move through time. The historical loop follows James Hunt and Niki Lauda at Zandvoort in 1975, but modern telemetry does not exist for that race. The reconstruction therefore advances only through documented milestones and makes the limits of the source material explicit.

That absence becomes part of the broadcast grammar. Selected laps, sourced changes in the gap, and concise documentary captions preserve the tension of the duel without imitating live coverage or fabricating speed, trajectory, or timing data.

Hunt leads Lauda during the sourced Zandvoort 1975 reconstruction.
Hunt leads Lauda during the sourced Zandvoort 1975 reconstruction.

A station made of races

The catalog makes the station browsable. Seasons, Grands Prix, circuit silhouettes, and available Race or Sprint sessions can be explored without restarting the backend, while the currently cached race remains one action away.

Race selection with circuit silhouettes and the currently cached session.
Race selection with circuit silhouettes and the currently cached session.

The backend runs locally on a dedicated VM, with race data, processed frames, track geometry, and narrative sidecars stored on the NAS. Once a story is prepared, replay is deterministic and does not call the model again.

What it does

  • A physical display that keeps the whole field visible
  • AI-selected chapters grounded in a deterministic event ledger
  • Historical reconstruction that makes gaps in the source material explicit
  • 60 Hz replay with pause, seek and speed-aware story density, without live model calls

Why I built it

Formula 1 is usually experienced through a camera director and a commentary team. F1 Race Replay explores a third form: a quiet, persistent, data-native station that lets the whole race remain present and knows when to bring a moment forward. It is less about replaying television than designing a new medium for following a race.