One mixer division. Up to 8 parallel pools.
Big mixer fields no longer have to run as one giant rotation. Split a mixer into pools, balance them by DUPR, run rotating-partner schedules in parallel, and seed playoffs from per-pool standings.
The mixer scaling problem, solved.
A 24-player mixer running as one flat rotation needs 23 rounds for full partner coverage — a 5-hour event. Split it into 4 pools of 6 with each pool running its own 5-round rotation, and the same event finishes in 90 minutes with four courts running in parallel.
1–8 pools per division
Admin chooses the pool count. Auto-balance by DUPR snake-draft, random shuffle, or drag/drop manual assignment. Each pool runs its own rotating-partner schedule.
Per-pool standings
Pool A's leaderboard is independent from Pool B's. Mobile shows a pool filter chip rail; match cards display "Pool A · Round 3" for every player.
Cross-pool playoffs
Three modes: top-N-per-pool (snake-seeded), all-from-all-pools (bracket with byes), or single-pool back-compat. Pool play stays per-pool; playoffs go cross-pool.
How the admin sets it up.
Create N pools
Mixer division opens with one flat rotation by default. Click "Create Pools," pick a count (1–8), and confirm.
Auto-balance
Snake-draft by DUPR (default), random shuffle, or drag-and-drop manually. Unrated players get a placeholder rating + ⚠ unrated pill.
Generate schedule
One click generates a rotating-partner schedule per pool. Court allocator interleaves rounds across pools so courts stay full.
Score + seed playoffs
Per-pool standings update live. When pool play completes, pick a playoff mode and the bracket is seeded automatically.
Example: 24 players → 4 pools of 6
Pool A
5 rounds · 6 players- 1A · 4.5 DUPR
- 1A · 4.4
- 1A · 4.3
- 1A · 4.0
- 1A · 3.9
- 1A · 3.7
Pool B
5 rounds · 6 players- 1B · 4.5
- 1B · 4.4
- 1B · 4.2
- 1B · 4.1
- 1B · 3.9
- 1B · 3.6
Pool C
5 rounds · 6 players- 1C · 4.5
- 1C · 4.3
- 1C · 4.2
- 1C · 4.0
- 1C · 3.8
- 1C · 3.7
Pool D
5 rounds · 6 players- 1D · 4.5
- 1D · 4.3
- 1D · 4.1
- 1D · 4.0
- 1D · 3.8
- 1D · 3.6
Three playoff modes.
Cross-pool seeding follows a snake pattern so the top seeds from each pool can't meet until late rounds. Tie-break order: wins → point differential → points for → head-to-head → DUPR.
Top N per pool
Admin sets teams_advancing per pool. Top N from each pool advance with snake cross-pool seeding (1A·1B·1C·1D · 2D·2C·2B·2A). Most common shape.
All from all pools
Every player who completed pool play advances. Bracket size = next power of 2, top seeds get R1 byes. Use when every player should get a playoff match.
Single pool
Existing IR divisions stay one flat rotation. No pools created → identical behavior to today. Zero behavior change for tournaments already running.
Mobile parity.
Pool filter chip rail on the standings screen, "Pool A · Round 3" eyebrow on every match detail card, and pool-name deep links from push notifications. Single-pool tournaments render exactly as before — no UI noise for existing events.