
F1 League
Predict the F1 Top 10 for every Grand Prix, create leagues, invite whoever you want, and fight for the top of the leaderboard across the full season.
f1.hrcd.fr
How it works
- Create a league and share the invite code
- Before each Grand Prix, predict the Top 10 finishing order (drag-and-drop)
- Points are scored based on how close you are — exact position, off by one, in the Top 10, etc.
- Leaderboard tracks standings across the full season with race wins and exact hits
Predictions lock automatically before race start. Results are imported from the Ergast API, scoring is computed, leaderboards update — everything runs on its own.
Features
- undefinedLeagues — create leagues with custom scoring rules, invite people via code, export data
- undefinedPredictions — drag-and-drop your Top 10 before each race, configurable lock window
- undefinedLeaderboards — season standings and per-race breakdowns
- undefinedPitwall — an AI agent (Gemini) that joins your league, submits predictions, and answers F1 questions through a chat interface
- undefinedLive F1 data — race calendar with countdowns, driver/team standings, auto-imported results, news feed
- undefinedEmail reminders — get notified before predictions close
- undefinedAdmin panel — manage users, drivers, teams, races, results, scoring rules, seed season data
Tech stack
Getting started
pnpm install
cp .env.example .env
openssl rand -base64 32 # generate an auth secret, add it to .env
pnpm dev
First user to register becomes admin. Head to /admin to seed the 2026 season.
Database
pnpm db:generate
pnpm db:migrate
Contributing
Contributions are welcome — feel free to open an issue or submit a PR. Check the open issues to see what’s going on.
License
Apache 2.0