Changelog

Reliable Q1/Q2/Q3 reset in the timing tower

2026-06-06

The qualifying timing tower now resets Best, Last Lap, sectors, and the running order between segments based on the chequered flag that ends each segment, rather than a lap-timing gap. This fixes cases where previous-segment times carried into the next, and it no longer resets mid-segment after a red flag.

Timing board stays fresh during live sessions

2026-06-06

Lap times, sectors, gaps, and running order now keep updating live without needing a page refresh. Previously the board only updated from the realtime stream, so if that connection dropped the data would freeze; it is now backed by lightweight polling so the latest timing is always shown.

Live sector times in the qualifying timing tower

2026-06-06

During qualifying, S1/S2/S3 and the speed trap now tick over live as a driver runs their current lap, and each sector is coloured against the field — purple for the overall fastest sector, green for a personal best. Rows stay blank until a driver completes their first lap of the segment, so the board no longer shows scattered partial sectors at the start of Q1/Q2/Q3. Joining a session mid-way now reliably backfills the segment’s best laps and running order — the lap history is re-fetched with retries if the first attempt comes back empty.

Collapsible sidebar

2026-05-24

Collapse the sidebar to icon-only mode to reclaim screen space. State is persisted across page reloads.

Qualifying timing tower resets between segments

2026-05-22

Best Lap, Last Lap, and the sort order in the timing tower now reset between Q1/Q2/Q3. Lap times from a previous segment are no longer carried forward.

Qualifying segment shown in header

2026-05-22

During qualifying, the session header now shows Q1, Q2, or Q3 based on race control messages, instead of just "Qualifying".

Lap data persists while driver is in the pit

2026-05-22

Last Lap, sector times, and speed trap now stay visible when a driver is in the pit — the timing tower shows their most recently completed lap instead of going blank. Best Lap column is also unaffected.

Best lap column in timing tower

2026-05-22

The timing tower now shows each driver's personal best lap time in a dedicated "Best" column, always visible alongside their last lap. The overall fastest lap is highlighted in purple.

Live race: play, pause, and scrub

2026-05-03

The live race view now uses the same playback controls as replay — play/pause, drag the timeline back up to 3 minutes into the buffer, then resume from where you paused. The Settings catch-up delay just sets the initial cursor position; once you're in the page you can sync to TV by scrubbing.

Debug page for OpenF1 connectivity

2026-05-03

New /debug page surfaces tier/credential state, runs every authenticated REST endpoint with status/latency/sample, and shows live MQTT message counts per topic — so an empty race view is no longer a black box.

Sidebar reflects live session state

2026-04-29

The race nav item now reads "Live Telemetry" with a pulsing red dot when a session is in progress, and "Replay Telemetry" without the dot otherwise.

Support the project

2026-04-29

Added a "Buy me a coffee" link in the sidebar footer for anyone who wants to chip in toward keeping the site running.

Mobile scroll fix

2026-04-29

Switched the app layout to use the dynamic viewport height unit (dvh) so iOS Safari no longer hides the top or bottom of the page behind the URL bar — no more double-scrolling on iPhone.

New SVG logo

2026-04-28

Replaced the placeholder text logo with a professional SVG mark featuring custom geometric F1 letterforms. The logo respects the team accent colour system and can be used at any size.

Live Race preview screenshots

2026-04-28

The Live Race gate now shows thumbnail previews of the map and pit stop visualization. Click either thumbnail to view it full size.

Merged Results & Standings

2026-04-28

The separate Standings page has been merged into Results. The Results page now shows a Drivers/Constructors toggle that switches the championship battle graph and standings table between both championships. Standings expand from 5 to all entries on demand.

Circuits page

2026-04-17

New Circuits section shows all 24 F1 tracks with statistics: circuit length, corners, DRS zones, race laps, lap record and first GP year. Click any circuit to see its full race winners history fetched from the Jolpica API.

Cancelled race weekend indicator

2026-04-16

Race weekends cancelled mid-season (Bahrain & Saudi Arabia) now show a strikethrough overlay with a "Race Weekend Cancelled" badge in the replay picker, and cannot be selected.

Grid → Finish bump chart revamp

2026-04-14

Replaced the hand-rolled SVG slope chart with a Recharts LineChart. The chart now scales responsively, shows an interactive sorted tooltip per column, and uses dashed lines for DNF drivers.

Championship Battle chart revamp

2026-04-14

Replaced the hand-rolled SVG championship chart with a proper Recharts LineChart. The chart now scales responsively, shows an interactive tooltip with driver codes and points, and includes a colour-coded driver legend.

Replay session picker

2026-04-14

When there is no live race, the race page now shows a grid of all completed races from the current season. Pick any race to load its full replay.

Race view loading sequence

2026-04-14

Live race view now shows a staged initialisation overlay — session info, stream connection, weather, race control, track status, driver timings, and telemetry each confirm as data arrives, then fade away.

Pit stop exit window on gap map

2026-04-07

Clicking a driver in circular mode now shows a green-to-red gradient arc spanning the full pit exit window — quick stop (−1s), median, and slow (+2s) — plus an inset card with projected rejoin gaps.

Current season results and qualifying

2026-03-29

The history page now shows race results and qualifying data for the current season. Race detail pages render qualifying even before the race has happened.

Fix replay timing tower empty stats

2026-03-28

Fixed race replay showing empty stats and position 99 for all drivers. Added retry logic and request staggering for session data fetching, response validation, and proxy error resilience.

Circular gap map with pit stop projection

2026-03-27

New circular map mode in the live race view shows cars on a circle with correct time gaps. Select a driver to see a ghost marker showing where they'd rejoin after a pit stop — useful for spotting traffic vs clear air.

Responsive circuit map

2026-03-26

The live race circuit map now dynamically fills all available screen space instead of rendering at a fixed size.

Multi-user credential storage

2026-03-26

API credentials are now stored in encrypted browser cookies instead of server-side files, enabling multi-user support on hosted deployments.

Lap time analysis — delta mode & fullscreen

2026-03-26

Lap time analysis now has a delta mode, inline gap-to-fastest in the tooltip, fullscreen view that fills the entire screen, and smoother curves.

Lap time analysis

2026-03-25

Compare driver pace lap-by-lap on any race result page (2023+). Select up to 4 drivers to see their lap times charted with tire strategy overlays. Toggle pit lap filtering for cleaner analysis.

Navigation overhaul

2026-03-25

Unified navigation across the app with reusable NavLink, NavPill, and BackButton components. Sub-pages now show a back button in the header bar for a native app feel. Dashboard standings cards expand inline with 'Show all', and driver rows link directly to profiles.

Driver profile pages

2026-03-24

Browse all drivers in the grid and view detailed profiles with headshot, current season stats, race-by-race results, career history, and progression charts.

Race replay playback

2026-03-10

Completed sessions now auto-enter replay mode with full playback controls — play/pause, speed (0.5x–16x), timeline scrubbing, and jump-to-time. All race data (positions, timing, flags, weather) plays back in sync.

Multi-season Battles page

2026-03-10

The Battles page now supports switching between seasons with a tab selector. 2026 data with Audi and Cadillac teams is included. The Compare modal adapts to the selected season.

Team color bars on Standings page

2026-03-10

The full Standings page now shows team color bars next to each driver and constructor, matching the dashboard style. The championship leader row is highlighted with their team color.

Add 24/12-hour clock setting

2026-03-09

Choose between 24-hour and 12-hour time format in Settings. The preference is saved and applied to all schedule times across the app.

Track time for race schedules

2026-03-09

Toggle between your local time and the track's local time on the next race schedule pills. Covers 30+ circuits with correct IANA timezones.

Improved race schedule pills

2026-03-09

Session pills now have color-coded borders — red for Race and Quali, amber for Sprint and SQ, and a subtle style for practice sessions.

Redesigned podium display

2026-03-09

Podium results on the dashboard and race detail pages now use a stacked row layout with position badges, team color bars, and driver names highlighted in team colors.

Biggest gainer icon in results

2026-03-09

The driver who gained the most positions is now highlighted with a trending-up icon in the race results table.

Enriched dashboard

2026-03-09

The dashboard now shows a next race countdown card, last race podium results, team color bars in standings, and championship point gaps.

Better history page UX

2026-03-09

Past races are now clearly clickable with a chevron icon, while future races are visually dimmed and non-interactive.

About page and disclaimer

2026-03-09

Added an About page with project info and data source credits. The live race view now includes a disclaimer about this being a hobby project.