Formula Vision is a Vision Pro dashboard that replays OpenF1 telemetry as a live-style HUD. It combines high-frequency car data with race session metadata so you can scrub, switch drivers, and toggle telemetry layers without clutter.
- Live-style replay of OpenF1 telemetry with play/pause and speed controls
- Timeline scrubber for jumping anywhere in the session
- Driver switching with team color accents
- Track map with live trail and speed trace
- Optional telemetry layers (weather, laps, stints, pits, position, intervals, race control, team radio)
- Apple TV+ x F1 hero branding card
This app uses the OpenF1 API (https://openf1.org) and pulls the following endpoints:
- High-frequency telemetry:
car_data,location - Session and driver metadata:
sessions,drivers - Race data layers:
laps,stints,pit,position,weather,race_control,team_radio,intervals
OpenF1 does not always publish car_data / location for race sessions. To keep the replay smooth, the app uses:
- Race session metadata for the UI and race layers
- Practice session telemetry as a fallback feed
This is configured in TelemetryPreset with two session keys:
sessionKey: the race session key (UI + race layers)telemetrySessionKey: the session that providescar_data/location
Requirements:
- Xcode with the visionOS SDK
- Apple Vision Pro Simulator or device
Run:
- Open
formula.xcodeprojin Xcode. - Select a visionOS simulator or device.
- Build and run.
- Play/Pause: top right controls
- Timeline scrubber: jump to any moment
- Driver menu: switch drivers
- Layers menu: toggle optional telemetry panels
- Default session and telemetry source live in
formula/formula/TelemetryViewModel.swiftunderTelemetryPreset. - Change
sessionKey,telemetrySessionKey, ordriverNumberto point at a different event.
formula/formula/TelemetryViewModel.swift- OpenF1 fetch, replay clock, telemetry stateformula/formula/TelemetryViews.swift- UI components and dashboard layoutformula/formula/ContentView.swift- root view
- OpenF1 endpoints can return empty sets for certain sessions. The UI keeps those panels quiet when no data is available.
- Team radio clips are URLs only; playback is not implemented in-app.
Telemetry data provided by OpenF1 (https://openf1.org).
This project is not affiliated with Formula 1, the FIA, Apple, or any teams. All marks are the property of their respective owners.
