Tournament Hosting Platform

Run a tournament that actually feels live.

A complete kit for tournament hosts: live scoring with full play-by-play, branded public pages parents can refresh on the deck, per-player box scores updated in real time, and printable trilingual (EN / FR / ES) game-desk guides — all from a single share code.

⚡ Live scores in 5 seconds 🎨 Auto-branded in your colors 📊 Per-player stats per game ✍️ Referee sign-off built in
Real screenshots

See a live tournament page and per-player box score.

Two of the most visited screens during a tournament weekend: the public schedule with live chips, and the per-player box score parents pull up between games.

Eggbeater public tournament page showing live water polo scores with per-player box scores for Spring Classic 2026
Live public tournament page · LIVE chip on the in-progress game, FINAL chips on completed games, branded in your colors.
Per-player water polo box score with goals, assists, kickouts, and a BENCHED chip auto-applied at the third kickout
Per-player box score · BENCHED chip auto-applies when a player reaches the 3-kickout limit.
Public Tournament Page

Every spectator sees the live game from any phone, no app install.

Share one short code. Parents tap the link, see the schedule, the live score, the bracket, and the box score — all updating on a 5-second refresh. The page automatically wears your club's colors and logo.

  • One URL · one code — no logins, no app store
  • Auto-branded in your primary & secondary colors
  • Pool play, brackets, finals — all in one tabbed view
  • Live score chip in the corner shows last refresh
🔒eggbeater.app/tournament.html?code=SP2026
SC
Powered by Eggbeater
Spring Classic 2026
Senior Men · Pool Play & Brackets
May 9–10, 2026 Aquatic Center Pool
Sat, May 9
Sun, May 10
Bracket
Standings
Pool Play — North Pool
Pool A
11:00 AM
#102
Sharks
85
Tigers
12:30 PM
#107
Eagles
32
Wolves
2:00 PM
#109
Sharks
vs
Eagles
Pool B
11:30 AM
#103
Rays
64
Pirates
1:00 PM
#108
Vikings
55
Rays
2:30 PM
#110
Pirates
vs
Vikings
Live · 1:42 PM 5-second poll · spectators see scores instantly
Mobile-First

One URL. Looks great on the desk monitor — and the phone in your hand at the pool deck.

Three responsive breakpoints — desktop (1100+ px wide for tablet/laptop pool dashboards), mobile (≤700 px), and extra-narrow (≤380 px for older phones).

  • Stacked pool cards on phone — one column, finger-friendly tap targets
  • Game-number column hidden on phone to save horizontal space
  • Team logos shrink to 28px · BENCHED chip stacks under the player name
  • Box score scrolls horizontally within the card — never cramps the layout
  • Header collapses — smaller logo, smaller title, more room for live scores
🔒eggbeater.app/tournament.html?code=SP2026
Spring Classic 2026 Senior Men · May 9–10
Sharks8–5Tigers
Eagles3–2Wolves
Rays6–4Pirates
Vikings5–5Rays
Spring Classic Senior Men
Sharks8–5Tigers
Eagles3–2Wolves
SharksvsEagles
Rays6–4Pirates
#8 Tanaka BENCHED
Same URL Desktop & phone share one tournament code — no separate apps
Spectator Heartbeat

Counts unique devices, not naïve page views.

A spectator who keeps the page open all day still counts as one. A family of three watching from three phones counts as three. KV TTL of 90 s means a missed minute drops them — no inflated "ghost spectator" counts.

📱Phone
60s heartbeat POST /tournament-spectator-heartbeat
⚙️Worker
count up spec:{CODE}:{deviceId} TTL 90s
📊Dashboard tile
Roster Editor

Rosters that survive the paste.

Paste your roster from Google Sheets. Walk away mid-paste. Come back. It's still there.

  • Auto-refresh suspends while you're editing — no more racing the clock
  • Draft persists across reloads — accidentally hit refresh? Banner restores everything
  • Inline edit any player without re-pasting the whole roster
  • Per-team Save updates only that team's roster — other teams untouched
  • "↻ Re-import" per team if you'd rather repaste
💬
From a real tournament host

"I'd start pasting and 5 seconds later everything got cleared." Auto-refresh used to wipe in-progress edits whenever the package re-fetched. Now the page detects you're typing and suspends polling until Save.

Sharks
↻ Re-import Save
CapFirstLastPosition
#1 Diaz Marcos GK ×
#4 Singh Aman Field ×
#7 Reyes Luis Field ×
#11 Park Kira Field ×
+ Add player
Edit-aware polling Detects focus inside the editor — refresh pauses, draft persists
Tournament Scorer

Real water polo stats. Per player. Per game. Live.

This isn't a wins-and-goals tracker. Every event is captured at the player level for both teams, with the situational modifiers a serious box score actually needs.

Stats tracked per player, per game
G
Goals · 6-on-5 & counter-attack splits
A
Assists · passes that set up the goal
SA
Shot Attempts · misses incl. failed 5m
Stl
Steals · Forced Ball Under flag
TO
Turnovers · Inside-2m flag
FB
Field Blocks · defender stops
Excl
Exclusions · kickout or brutality
EE
Earned Excl. · separate stat for who drew the foul
5m
5-meter · goals & misses tracked separately
Sv
GK Saves · Inside-2m flag for close-range

Plus Sprint Wins, timeouts (per team & per length), period state, shootout goals & misses, and a referee sign-off with name + timestamp on every final.

🚩
Knows the rules so volunteers don't have to.

The Excl picker offers Common Penalty or Kickout. When a player records their 3rd kickout, a red banner pops up in the scorer alerting the desk that the player is ineligible for the rest of the game and must be benched — and the BENCHED status broadcasts to every spectator's box score in real time. The picker shows them as BENCHED with a strikethrough so no one accidentally credits them with anything from the bench. (Common penalties and earned exclusions don't count toward the 3-kickout rule — they're tracked separately.)

  • Both rosters pre-loaded from the hosted tournament package — no re-entry per game
  • Symmetric buttons — every action exists for white & dark cap sides
  • Inline play-by-play with per-event delete & undo
  • Live broadcast to spectator apps + the public tournament page
Eggbeater Tournament Scorer modal showing the Goal, Assist, Steal, and Kickout grid mid-game with Sharks vs Eagles, including a BENCHED player who reached three kickouts
Player picker Pulls roster from the hosted package — no re-entry per game
Live Dashboard

Tournament-wide. Not host-only.

Every team's events stream into one cockpit so the director can see the whole event at a glance — kickouts, conflicts, and unique spectators rolled up across every game.

  • Tiles aggregate across every team in the published package
  • Spectator counter is unique device IDs (not page views) via 60-second heartbeats
  • Cross-team venue/pool conflict detection — flags 50-min overlap windows
  • Player-status row updates the moment a kickout pushes a player to 2 or 3
  • Falls back to host-club-only mode for clubs that aren't tournament hosts
🔒eggbeater.app/admin.html · Tournament Director
Player Status · Live
⚠ Players Near Limit
3
2/3 KO threshold
🚩 Players Benched
1
3 KO — out for game
Tournament Pulse
Spectators Watching
142
Games Live Now
4
Upcoming Games
11
Conflicts Pending
0
Scored / Complete
8
Goals Broadcast
67
Players Near Limit · Drill-Down
Game #107Eagles#5 Walker2/3 KO
Game #112Tigers#9 Brown2/3 KO
Game #118Vikings#4 Patel2/3 KO
Game #107Eagles#8 Tanaka3 KO — BENCHED
Aggregated Every team in the package — one cockpit, one glance
Per-Player Box Scores

Real-time stats spectators have never seen at a youth tournament.

Every action recorded by the scorer aggregates into a per-player box score that updates live on the public tournament page. Goals, Assists, Saves, Turnovers, Field Blocks, Exclusions — all credited to the right cap.

  • Aggregated automatically from the play-by-play
  • Six core stats per player per game
  • Both teams — no longer a "home stats only" world
  • Referee sign-off stamps the final result
Sharks vs Eagles
FINAL · 8 — 5
Sharks ⚪ 8
PlayerGASvTOFBExcl
#7 Reyes310101
#11 Park220010
#4 Singh200101
#9 Brown120000
#1 Diaz (GK)0011000
Eagles ⚫ 5
PlayerGASvTOFBExcl
#5 Walker210000
#8 Tanaka BENCHED200203
#3 Kim110010
#12 Patel010101
#1 Lopez (GK)009000
✓ Final · signed off by Marcus Lee · 5/9/26 1:42 PM
Auto-aggregated Stats roll up from every Goal, Assist, Save tap
Custom Branding

Set your colors once. Every tournament page wears them.

Pick a primary & secondary color in your club admin panel. Your hosted tournament's public URL is automatically themed — header gradient, body wash, live indicator pill, all of it.

RED RIVER WATER POLO
River Cup 2026
Theme
Crimson + cream
PACIFIC AQUATICS
Pacific Invitational
Theme
Royal navy + sky
EVERGREEN WATER POLO
Forest Classic
Theme
Forest + lime
Volunteer-Ready

Walk-in volunteers score like pros.

A printable, branded, trilingual (EN / FR / ES) reference card lives at one URL per tournament. Tournament credentials are baked in at the top — game-desk volunteers don't need to ask the director where the password lives.

  • EN · FR · ES toggle — print whichever language fits the venue
  • Credentials baked in — code, password, club ID
  • Action button cheat sheet with all picker modifiers
  • Excl vs Earned Excl playbook spelled out
  • 3 letter pages · prints in branded color
Tournament Credentials
Use these to unlock the scorer
Tournament codeSP2026 Scoring passwordspring2026score Clubspring-classic
SC
Spring Classic 2026
Tournament Scorer
Game-desk volunteer reference
1 Before the game
Open eggbeater.app · tap T-Scores · enter the code & password from above…
7 Action buttons + modifiers
Full reference table · every action with its picker checkboxes…
Spring Classic 2026 · powered by Eggbeater Page 1 of 3
Field Tested · From a host

Les Hydres de Québec ran La Classique 2026 on Eggbeater.

Eggbeater.app played a major role in the success of our club’s annual Masters Spring Classic. Attendance for the 2026 edition doubled, which significantly increased the complexity of tournament logistics. We expanded to two pools, split both categories into multiple divisions, and managed extended group play before the crossover brackets on day two.

There is no way we could have managed the pace of the tournament across two pools using paper schedules and static Excel sheets. Eggbeater.app gave us a centralized platform for scheduling, dynamic standings, and live game stats that were easily accessible to coaches, players, and spectators from any mobile device.

One of the biggest advantages was the flexibility of the platform. We were able to customize the backend to match our tournament format, including head-to-head ranking rules, live stat tracking, and the way group play standings were displayed for both A and B divisions.

The live scoring interface was especially impressive. With dozens of volunteers rotating through the scoring table over the weekend, ease of use was critical. Everyone was able to jump in and score games with minimal guidance because the interface is so intuitive.

The visiting clubs also appreciated the tournament dashboard and detailed box scores available throughout the weekend. We are already looking forward to using Eggbeater.app again for our next event, a beach water polo tournament.

Ready to host your next tournament?

Set up your club, enable Tournament Hosting, publish your bracket, and share one short code with every spectator. No app downloads required.

Learn more →