Changelog

The features that have shipped, grouped by area rather than by date.

Predictions & standings

  • Nickname-based signup with first-come-first-served claim β€” no accounts.
  • Per-game kickoff lock β€” predictions can't be submitted or changed after the game starts.
  • Standings sorted by points, tied by rounds played and per-round average.
  • Round-by-round leaderboards for weekly rankings.
  • Standings show each player's movement since the previous round (β–² β–Ό =) and their number of round wins, which is also the first tiebreaker.
  • Form column in the standings: points in each of the last 5 rounds, shaded against that round's best score.
  • View the standings as they were after any round, plus form rankings over the last 5, 10 or 20 rounds.
  • Player profiles show their place in each round's ranking and a chart of their overall rank after every round.
  • The profile rank chart can zoom its scale down to the player's lowest place, and switching standings views or profile tabs now shows the loading spinner.

Admin control panel

  • Bulk fixture entry β€” paste one line per game (date | home | away).
  • Inline result entry per game with automatic rescore of all picks.
  • Full editors for rounds, tournaments, and scoring rules.
  • Multiple tournaments can be active simultaneously (e.g. a World Cup and a league season overlapping).
  • CSV importer for past-season data from the old Reddit-thread format.
  • Toggle any tournament between active and historic without losing data.

Scoring

  • Configurable point value per rule type: exact result, double chance, exact score, goal difference.
  • Two prediction modes: pick from 1/X/2/1X/X2/12 or predict the full scoreline.
  • Full-tournament recompute button after changing rules mid-season.

Player stats

  • Player profile pages at /user/[nickname] with a tournament selector.
  • Overview: total points, correct picks, rounds played, average per round.
  • Advanced stats: best 3 rounds, worst 3 rounds, and a trimmed average excluding both extremes.
  • Round-by-round breakdown with expandable per-game picks and results.
  • Nickname search box on the standings and profile pages.

User experience

  • Full English + Romanian translation with an in-app language toggle.
  • Football-themed palette + emoji favicon.
  • Loading spinner during page transitions so nothing feels frozen.
  • Big success banner and auto-redirect to the standings after saving picks.
  • Round list pagination β€” 6 latest rounds on the landing page, 12 per page on the tournament page.

Admin power tools

  • Copyable SQL query library available at /admin/queries.
  • Manual pick backfill β€” paste a Reddit-style comment, the app matches team names against the round's games and inserts each pick.
  • User merge β€” combine duplicate accounts, preserving prediction history.
  • Un-claim a nickname so a user locked out of their original browser can reclaim it.
  • Per-round participant chips with quick delete-picks action for testing.
  • Rename a participant straight from the round page β€” if the new nickname already exists, the two accounts are merged after a confirmation, no SQL needed.
  • Delete-tournament action with full cascade through rounds, games, and predictions.