Eggbeater logo
League Quick Start BETA
← Eggbeater

Run a Water Polo Season in 6 Steps

Print this one-pager and tape it to your laptop. Six steps to take a league from empty admin panel to live spectator page, plus the status indicators every host wants on the desk.

Before You Start

  • Subscription: Club League ($99/season) or Multi-Club League ($249/season). Multi-Club inherits every Club League feature.
  • Team list: Every team, organized by division. 4–10 teams per division works best for round-robin.
  • Weekly schedule: One game day per division (e.g., Saturdays), the start times, and the courts/pools.
  • Optional sheet: If your league lives in Google Sheets, you can skip the auto-scheduler and import it directly.

Quick Facts

Setup time~15 minutes
Share code6 characters
Formats6 supported
Spectator latency< 5 seconds
1

Open the Leagues tab

Sign in at eggbeater.app/admin.html. Click the Leagues nav item (👑 crown means entitled). The setup card greets you with a "Set up league →" button.

  • Free clubs see 🔒 — upgrade to Club League first
  • Director tab stays for tournaments only
2

Run the wizard

Tap Set up league →. Fill in:

  • League name + season label
  • Divisions with their teams
  • Format (round-robin, single-elim, Swiss, etc.)
  • Weekly preset — day, start times, courts
  • Points policy (default W=3, T=1, L=0)
3

Generate the schedule

Tap Generate Schedule. Every game materializes with date, time, court, weekIndex. Review the games card.

  • Already in a sheet? Tap 📥 Import from Sheet instead
  • The wizard saves your column mapping for next season
4

Publish the league

On the Publishing card, hit Publish League. Eggbeater mints a 6-character share code and a public URL.

  • Copy Code → for visiting clubs to import
  • Copy Link → for parents / spectators
  • Auto-publishes /leagues/{slug}/ SEO page
5

Score the games

Volunteers score from the standard Tournament Scorer. Open the share code on a tablet at the desk, tap the action, tap the player.

  • Scoreboard updates everywhere in < 5 seconds
  • Live Game Console on Leagues tab = host fallback for stuck games
  • Standings recompute on every finalization
6

Archive when done

End of season? Hit 📦 Archive this league. Final standings freeze, the season moves to Past Leagues, share code stays valid for lookups.

  • Start next season fresh, or clone from archive
  • Subscribers age out naturally with the share code's TTL

🏆 At the desk — every game

Volunteer scorers should:

  • Verify cap colors match the convention (team1 = White)
  • Tap Goal → tap the player → optional assist
  • Tap Final at the end (or the host can finalize from the Console)
  • Refs sign off via the prompt at game end

✓ Looking good

You're in the green when:

  • Standings show on the public link
  • Live Dashboard shows finalized + in-progress counts matching the schedule
  • "Week N · vs Opponent" reminders are firing (check your phone before each game)

⚠ Watch out for

Things to keep an eye on:

  • Team-name mismatch on sheet import — fix the source, re-fetch
  • Stuck games (scorer forgot Final) — use the Console's one-click finalize
  • Standings hidden by policy — adjust hide-until-week-N in the wizard
  • Cap color convention mismatched between divisions — set per-league in Scorer Display

🚨 Stop & check

If you see any of these, pause:

  • Live Dashboard shows conflicts > 0 — two scorers on the same game
  • Score override needed at the Console — typo, wrong team, etc.
  • Visiting club can't import the code — confirm Multi-Club League is the active SKU
  • Sheet write-back failures — check the Apps Script logs