Skip to content

Project

LapDelta

A real-time Formula 1 replay with no backend, for about a pound a month.

Plate I · The circuitSuzuka
Circuit centreline, resampled to even arc length. Twenty cars, 45 seconds of the race.

LapDelta replays real Formula 1 sessions in the browser: a to-scale track map, twenty cars at sixty frames a second, synchronised telemetry traces and a session-aware timing tower. It runs for roughly a pound a month.

It has no request-serving backend. That reads like a limitation I worked around, but it is the decision the rest of the design falls out of. A service that interpolates frames per client is a service you pay for per client, babysit, and scale. Removing it pushes the compute to the two places that are already free: once, offline, when a session is ingested, and then in the browser on the viewer's own machine.

What travels between them is a single precomputed file. An offline build in Python ingests a session and writes one artifact. S3 behind CloudFront serves it as immutable, brotli-compressed bytes. An Angular client with a Rust core compiled to WebAssembly downloads it once and renders everything from it. There is no /api, and no database in the request path.

The plate above comes from that same data, cut down to what a static page needs. The circuit is not a track map from anywhere. It is derived from position samples, the way the running system derives it, and the plate below shows a selection of circuits produced by that same code without any special-casing.

Plate II · Circuits
Derived from positional telemetry alone. No track maps, no external geometry.

In summary

20 cars 60 fps 3 languages 1 contract £1 a month


The full account of the geometry, the zero-copy data contract and what it costs to run is in the essay. The application itself is at lapdelta.app.

LapDelta is an unofficial fan project. It is not affiliated with, endorsed by, or connected to Formula 1, the FIA, or any team, it uses no official marks, and it is non-commercial.