☰
Scoring stays on this court. To leave, press and hold the ☰ in the corner.
ezVolley
Tournaments
Schedules, standings and results

Loading tournaments...

Tournament Manager

Run as many tournaments as you like side by side. Open one to load it into the control desk below — the others keep running untouched.

Loading tournaments...

Site Logistics

The two times are optional: the first match this gym can host, and the last match that may start there. A gym with a cut-off is handed fewer pools so its matches fit inside the window.

When a team's name begins with a gym's name — “Green Valley JV” at “Green Valley”, and also at “Green Valley High School” — that team's pool is sent to that building. The draw is untouched; only the address changes. If a gym has no room left inside its own window the generation summary names the school that had to travel.

By default every pool advances in step — all of them play their first match, then all their second. That holds a gym open longer than it needs. Ticked, each gym is filled slot by slot instead, so a pool may start its second match while another is still on its first. Three pools on two courts then take five time slots instead of six.

One or more team names, separated by commas. Their pool goes to the gym that empties soonest, and takes the earliest slots in it. Counts refereeing too — a team is not finished while it still has to work a match.

Division Setup

Division Site Mapping

Tick every gym a division may use. A big division can run across several buildings; two divisions sharing a gym split its courts.

Schedule Timeline

Tournament Format

Every format below schedules a work team on every match, and every playoff format guarantees each team at least two playoff matches.

Crossover Pairing

How the cross-pool round is drawn once pool play finishes.

Score Caps

The highest a set can go when teams trade points past the target. Standard play caps sets 1–2 at 27 and a deciding set at 17. Leave a box empty for no cap — win by two, however long it takes.

Bulk Team Entry

Snake and Sequential both read your paste order as the seed order (best team first). Random ignores order.

When checked, pool sizing forms as many 6-team pools as the roster allows (e.g. 12 teams → two 6-team pools instead of three 4-team pools), using a verified fair round robin — every team plays all 5 others and refs 2–3 matches, never both at once. Any remainder that can't form a 6-team pool falls back to the standard 3/4/5-team sizing. Off by default since most pools run smaller.

🏅 Playoff Brackets

Brackets build automatically as soon as a division has pools — there's nothing to press. Seeding is by fixed pool position, so every slot's court and time is published from the start; slots read "Pool A — 1st" until that pool finishes, then fill in with real team names on their own. Playoffs begin one match slot after this division's last pool or seeding-round match — worked out from the schedule itself, not typed in. Changing the match length below re-times any bracket that hasn't started yet. Once a playoff match goes live the bracket is frozen — roster edits can't disturb it.

—

Brackets gather the best teams from every pool, so on a field spread across more than one gym some teams have to drive. This pushes the whole bracket stage back by the gap you pick.

For a place-against-place seeding round. Pool winners all meet each other, runners-up meet each other, and so on — so each band is already the field for one bracket. Ticked, a band travels to its bracket's gym before the seeding round instead of after, which means no team changes buildings during Saturday at all. They learn their gym on Friday night and drive there once in the morning. Set the addresses under Bracket Locations below.

When brackets take turns, run the lower one first — Silver before Gold, Copper before Bronze — so each gym's day ends on its most important final rather than starting with it.

The standard volleyball convention: whoever loses a playoff match stays and works the next match on that court, whichever bracket it belongs to, even with no match of their own left. Nothing is named in advance — each work team appears only once the match before it is final.

Brackets taking turns normally finish an hour apart, which leaves half the gym idle for the last two hours. This plays every bracket's last round at the same time on the full floor, ending the day an hour earlier. Only applies where the gym has a court for each deciding match; the referees then come from teams whose own day has finished.

Top bracket first. One number sizes them all; a list sizes them one at a time and the last number repeats. 8, 8, 4, 4 keeps the top two pods whole and splits the bottom pod into two brackets, which is how three pods become four brackets. Leave blank and the format decides.

Top bracket first, separated by commas. Leave blank and the format decides. “Bracket” is added for you, so Copper becomes Copper Bracket.

Where two brackets share a gym, stop them running side by side so no two deciding matches clash.

Two courts each is for brackets of four: both semifinals play at once on two courts, then the other bracket takes those courts, then each bracket's final and 3rd-place match play together. Same number of time slots as running each bracket end to end, and the idle bracket referees the one on court. Semifinals and finals only costs about two hours; every round roughly doubles the bracket stage.

Brackets appear here automatically once this division has pools. Use Rebuild only to force a fresh build.

Court Map — Referee Schedule & Score Entry

Start times down the left, courts across the top. Every match on the site in one grid — what a hired referee needs to see their shift, and what you need to count matches for pay. Tap any match to enter or correct its score right here.

Pick a site to build the grid.

Announcement

Broadcast a message to every spectator's phone (e.g. "Lunch break 12:00–12:45, bracket play starts 1:00").

Audience

How many devices are on the live site for this tournament. Counts phones, laptops and gym TVs — no names, no accounts, nothing about who they are.

Counting…

Running the Day

The two things that actually go wrong. Both leave the rest of the event alone.

minutes

Live and finished matches are never touched. A negative number pulls the day earlier.

Matches already played stay exactly as they are — other teams' standings depend on them. Everything still to come is recorded as a forfeit.

Live Match Monitor

Tap any match to edit its scores, status, and details right here — no PIN needed.

No pools generated yet.

Director Account

Signing in here is how the database tells you apart from a court device. This is live: the admin, director and site-director pages all check it, so whoever is signed in on this device is who the app treats you as.

Not signed in on this device

Tournament Director Access

Invite the person running this event. They get score overrides, announcements, the court map and the day-to-day tools — and nothing that decides how the event is built. They cannot see or touch any other tournament.

Site Directors

One person per gym. They enter and correct scores for their own site and can post announcements to the whole event — nothing else. Useful when an event runs across several buildings and the tournament director cannot stand in all of them.

Court Device Code

Give this to whoever is scoring. They type it once on their tablet or phone and can then enter scores for this tournament. If a tablet dies mid-match, the same code gets a replacement device going in about twenty seconds.

Loading…

Backups

A downloaded file is the only copy that survives losing the database itself. Press Download at the end of each event and keep the file somewhere else — Drive, Dropbox, anywhere off Firebase.

Importing always creates a new tournament rather than overwriting one, so a file can never quietly replace something live. Compare the two and delete whichever you don't want.

Deleting a tournament keeps a copy here first, so a wrong tap is recoverable.

Loading…

Find Your Team
Type your team name to see your full schedule — matches, courts, times, and work assignments.
🔍
Pool:

Match Schedule

No matches scheduled yet.

Ready