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.

1

Create N pools

Mixer division opens with one flat rotation by default. Click "Create Pools," pick a count (1–8), and confirm.

2

Auto-balance

Snake-draft by DUPR (default), random shuffle, or drag-and-drop manually. Unrated players get a placeholder rating + ⚠ unrated pill.

3

Generate schedule

One click generates a rotating-partner schedule per pool. Court allocator interleaves rounds across pools so courts stay full.

4

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.

Default

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.

Optional

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.

Back-compat

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.