F1 Standings
Formula 1 season explorer — driver and constructor standings, race calendars, and full round results for any season from 1950 to today.
Vue 3TypeScriptViteTailwind CSS
Overview
A lightweight single-page app for browsing Formula 1 history. Pick any season back to 1950 and get driver and constructor standings side by side, then drill into a single round for the full classification. Data comes from the public Jolpica/Ergast F1 API — no backend of its own.
Features
- Season standings — driver and constructor tables with points, wins, and points gap to the leader
- Round results — full race classification with finishing time or DNF reason, and fastest lap where reported
- Race picker — the season schedule drives a round selector, cached per season so switching rounds is instant
- Team branding — constructor colours and official logos, with a colour-dot fallback for historical teams
- Resilient fetching — 429-aware retry with exponential backoff, and a visible "rate limited, retrying" state
- Session cache — historical data is fetched once per session and reused across views
- Typed API layer — every endpoint returns a typed model, with errors narrowed to network / not-found / rate-limited / parse
Tech Stack
- Vue 3 —
<script setup>SFCs, Composition API - Vue Router — season and round routes with lazy-loaded views
- TypeScript — end-to-end typed API client
- Vite — dev server and build
- Tailwind CSS 4 — utility-first styling with dark mode
- Jolpica F1 API — Ergast-compatible F1 data