//f1-leaguebyhugorcd

f1-league

Predict the F1 Top 10 with your mates. Create leagues, compete across the season

2
1
2
1
Vue

F1 League Banner

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

  1. Create a league and share the invite code
  2. Before each Grand Prix, predict the Top 10 finishing order (drag-and-drop)
  3. Points are scored based on how close you are — exact position, off by one, in the Top 10, etc.
  4. 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

Find me
[beta]v0.15.0