Rally Robin

Pickleball round robin & tournaments
0
Pool
0
In list
–
Avg weight
–
Avg rating

My lists

Lists are your curated groups from the shared club pool. Session setup uses the active list.

Add to club pool

Import / export

CSV format & Playtime Scheduler

CSV columns: name, rating, gender, ranked (header row optional; rating defaults 3.5). Admins can also include weight (defaults 50). Imported players join the shared club pool only — toggle them on to add to your active list.

Club pool — shared by organizers; toggle to add/remove from the active list

No players yet. Add some above or import a CSV.

Create Group Robin Session

Optional — fills location, format, matching, courts, rounds, and players from any previous session. Name, date, and time stay blank.

Each generate saves a new session — it opens on the Current tab so you can enter scores or reshuffle.

Session players

Choose who's playing today before generating rounds. Waitlist goes under Sidelined — they never auto-rotate in.
Active players
Sidelined players
+ Add new player

List of Sessions

Every generated schedule is saved automatically — scores included. Open one to work on it under Current. Create a new session from the Create tab.
No session open

Open a session from the Sessions tab to score rounds, reshuffle, and edit settings here.

Standings

🏆
Enter match scores on the Current tab and tap Save — standings will appear here.

How it works

Editing rounds: tap any player chip in the schedule, then tap a second player (in the same round, including byes) to swap them. Swapping a court player with someone sitting out rebuilds later open rounds using the session’s sitting-out rule (first registered, last registered, or random). To bench someone temporarily, select a court player and tap + Sit out in Sitting Out. To pull someone out of rotation entirely (waitlist / left early), select a court or sitting-out player and tap + Sideline — they stay sidelined until you tap Into play (they sit the current open round; remaining open rounds rearrange for the new active list). When enough players are sitting (4 for doubles), tap + Add court to form a new court from sitters who’ve sat the most — this raises the session court count and can reshape later open rounds. The selected chip highlights in bright yellow-green. After a swap, sit-out, sideline, into-play, or add-court, tap Undo on the bar to reverse it. If a swap would repeat an existing partnership, you'll get a warning listing the other rounds. Tap the ⓘ on a chip or a player's name in the session list to see partners for the night.

Matching modes:

• Random — shuffled each round while avoiding repeat partners (and never pairing the same partners back-to-back if a repeat is unavoidable).
• Skill, balanced teams — pairs players so team weights are within your weight tolerance (set on Create Session) when possible. The generator keeps Round 1 in that range if it can, then Round 2, and so on; if a court must go over, it will be a later round.
• Skill, similar levels — groups players of similar weight on the same court.
• Mixed gender — each doubles team gets one male and one female where possible.
• Gender split — same-gender courts where possible.

Avoid back-to-back imbalance partners: optional on doubles round robins (on by default). Players at or above the upper weight (default 76) should not partner with players at or below the lower weight (default 75) two games in a row. Change those two numbers on Create or Edit session. Avoiding repeat partners still comes first if those conflict.

Partner gender rotation: on doubles round robins (not mixed-gender or gender-split mode), when the session has at least four men or four women, nobody partners same-gender (two men or two women) three games in a row, and nobody partners mixed three games in a row, when the other type is available. The scheduler will form a same-gender court if that is what it takes to break a mixed streak. Sitting out does not reset the streak. Unique partners still come first if those conflict.

Weight & rating: Rating is the formal pickleball rating (e.g. 3.5, 4.0) shown to organizers. Weight is a custom integer used only for pairing (e.g. 100, 23) — only the admin can see or edit it.

Branch Tournament: under Create → Tournament → Branch Tournament. Doubles only. Round 1 is everyone together (new partners, even team weights). After every court is scored, winners rematch with winners and losers with losers. Sit-outs follow the same three rules as round robin; last-round sitters and tied matches get priority to play. Review the next round, reshuffle or swap (you’ll be warned if a swap repeats a partnership or crosses winner/loser groups), then Start the Next Round. Keep going until you Stop & lock. Standings rank by win % (ties count as half a win), then games played, then point differential. Equal on all three = co-winners.

Split Tournament: under Create → Tournament → Split Tournament. Doubles only. Round 1 uses the same weight-group method as Group Robin Round 1 (G1–G4, Special Group under 60). Pick Round Type (cycle default, or override). After every court is scored, players are Win / Loss / Tie / Empty from their last completed game (shown as W / L / T / E on chips). Sit-outs rotate by first registered, last registered, or random (nobody sits twice until everyone has sat once). Then Win games (fill Tie On, then Empty On, then Win Sit Out), then Loss games (fill Tie On, then Empty On, then Loss Sit Out), then the rest. Swapping a Win Player with a Loss Player warns you. Review the next round, then Start the Next Round. Standings tabs: Champ pts (CP, GP, W-L-T, +/−, WG), Group lead (top 6 per weight group; winners top 4), and Win %. Keep going until you Stop & lock.

Group Robin: under Create → Group Robin Session. Doubles only. Players are grouped by weight (G1 90+, G2 80–89, G3 70–79, G4 below 70). Weight under 60 is also Special Group (new / kids / disability, etc.). Rounds rotate: 1–4 & 2–3, then One Weight, then 1–3 & 2–4, then 1–2 & 3–4. If the session has an odd number of rounds, Round 5 is One Weight again, then the same 4-step cycle resumes for the rest of the session. Teams of the round’s type are formed first (unique partners); then games pair two teams of the same type. If a true group is short, the closest-weight player fills the spot. No 1 man + 3 women unless all four are G1; no 1 woman + 3 men unless all four are G1 and the woman is the heaviest on that court; no two-men team vs two-women team unless each woman is the same or heavier than the heaviest man on the other team. The same man is not put in another 1M+3W game until other men have had one; same for a woman in 1W+3M. Team weights stay within ± your session tolerance when possible (later rounds widen by 1 if needed). Special Group players should not share a court with the same people again until everyone else has played with them; if a repeat is unavoidable it is pushed to a later round. After every round is built: Check 1 Special Group mate repeats (round type ignored); Check 2 any game more than ±2 over tolerance looks for the other game that round with the largest team-weight gap and tries swapping each player (kept only if both games meet Special Group, tolerance, gender, unique teams, and unique opponents); Check 3 G1 players partnered with G4 more than rounds÷4 times swap with another G1 that round (tolerance, gender, unique teams, unique opponents); back-to-back G1–G4 also requires Special Group; Check 4 for 1W+3M games try swapping a man with a woman of the same Weight Group on another game that round, then for 1M+3W games try swapping a woman with a man of the same Weight Group on another game that round (both passes require Special Group, tolerance, gender, unique teams, and unique opponents); Check 5 breaks repeated partnerships and players who keep sharing a court. A swap is kept only when both games are within tolerance, unique teams, gender, and unique opponents. A partnership does not repeat until Round 10 if another pair exists; otherwise the generator keeps the longest possible gap. From Round 2 on, nobody shares a court with someone they played with in the previous 3 rounds if possible, then 2, then 1. Sit-outs use the same first / last / random rules as Round Robin.

Scores & standings: enter each game's score in the strip below the court, then tap Save. Tap Clear next to a saved score to undo it — the court is unscored again and standings update (on Branch / Split, a waiting next round is removed if this round is no longer complete). Standings tabulate individually — every player is credited with their team's result each game, since partners rotate. On Win %, place is by win percentage only (ties count as half a win) — everyone with the same win % shares that place, so the top three win-% groups all get 1st / 2nd / 3rd medals even when several players are tied. Point differential only orders players inside a tied win %. On Points, rank by points scored; win % and differential break ties. Branch Tournaments use win %, then games played, then point differential. Split Tournament places higher on every tab by the tab’s main number, then +/−, then points scored, then more wins when those players met on opposite teams. Skip Round (or Skip Rounds X to Z) marks a round unplayed — it stays on Active with an Unskip button and is left out of standings, player stats, and sit-out counts. Unskip (or Unskip Rounds X to Z) puts it back in. Works on Round Robin, Group Robin, Branch Tournament, and Split Tournament.

Session players: add or remove players when creating a session, or on an open session in the Current tab. Use Active for registered players who rotate, and Sidelined for waitlist / walk-ins / people who left mid-session — sidelined players never auto-assign into courts or Sitting Out until you move them Into play. Completed rounds with scores stay. If nobody is sitting and you add someone as active, they sit this round and you choose first/last/random for later sit-outs. If people are already sitting, the new active player sits next and the sit-out list shifts down in the same order. If nobody is sitting and you remove (or + Sit out) someone on court, the rest of that court sits and remaining open rounds use one fewer court. If sitters are queued, the next scheduled sitter takes their court slot and the sit-out list keeps its order.

Reshuffle: after updating player weights, Reshuffle All Unplayed Rounds with Current Weights rebuilds only rounds without saved scores (Sitting Out stays the same). On Group Robin, that rebuild uses the same round-type rules, unique team / opponent conditions, gender rules, weight tolerance, and session Checks 1–5 as Create (including a dual attempt for better band balance). If every round already has scores, it offers a new copy of the session instead. On each round, Reshuffle Round X rebuilds that round only; Reshuffle Rounds X to Z rebuilds that round through the last, skipping any rounds with saved scores. Mid-session reshuffles prioritize unique partners first, then weight balance, and never forget past rounds. Undo reshuffle restores the previous pairings for that round. Session reshuffles never change Sitting Out lists unless you change courts or accept a Sitting Out rebuild prompt.

Round notes: each round has a notes box for court assignments, reminders, or coaching notes. Tap Save to store them with the session.

Partners: the scheduler avoids anyone partnering with the same person twice in a session. If rounds/players force a repeat, those partners will not be back-to-back. Players also avoid facing the same opponent two games in a row when another court split exists. With Avoid back-to-back imbalance partners on, a player at or above the upper weight will not partner with someone at or below the lower weight two games in a row. When the session has four or more men or women, nobody partners same-gender or mixed three games in a row if the other type is available. Tap a player's name in the session list or the ⓘ on a court chip to see who they've partnered with and who they haven't played with yet.

Byes (Sitting Out): on Create (and Edit session) choose how sitters are picked: First registered sit first or Last registered sit first follows the Active players list order; Random — no repeat until all have sat shuffles among those who have sat the fewest times. All three options wait until everyone has sat equally before anyone sits again. Each open round always shows a Sitting Out area with a + Sit out target so you can bench players even when the roster fills all courts. When the sit-out list is empty, sitting someone out (or removing them) benches the rest of their court and drops a court for remaining open rounds. When players are already sitting, the next scheduled sitter takes that court slot and the sit-out order is preserved. When at least a full court of players is sitting out, + Add court seats them onto a new court (preferring players who have sat most) and updates the session court count for later open rounds. Changing the court count or sitting-out order in Edit session rebuilds open rounds only. Completed rounds with scores stay unchanged.

Sidelined vs Sitting Out: Sitting Out is temporary — those players stay in the fair rotation and will play again. Sidelined is a session waitlist / parked list: they never auto-assign into courts or Sitting Out. Put waitlist players in Sidelined when creating a session, or use + Sideline mid-session when someone leaves early. On Current, Sitting Out and Sidelined are collapsible (Sitting Out open by default; Sidelined collapsed). Move someone back with Into play only when you decide — they sit the current open round, and remaining open rounds rearrange active players and Sitting Out for the updated roster.

Sessions: generate on Create, browse under Sessions (Active / Locked), and work the open session on Current. Copy and continue on Current makes a new session with the same pairings, sitting out, and scores so you can keep playing without changing the original (works on locked sessions too). Close & lock freezes a finished session under Locked; owner or admin can Unlock later if needed. Locations are saved to a shared club list for quick reuse.

Club pool & lists: players live in a shared club pool (same weights for all organizers). Each organizer keeps personal lists for quick session pickup. Toggle the switch on the Players tab to add/remove someone from your active list.

Roster: tap Edit on any pool player to change name, rating, gender, or standings inclusion (the admin can also change weight). Tap a player's name or 📊 Stats for their statistics — games, win %, points, partners, charts, and more (closed & locked sessions only). 📊 Player stats table at the top shows everyone side by side with sortable columns; use Export CSV to download the current sort.

Accounts: the first account registered is the admin. New registrations wait in the Admin panel (account menu in the header) until approved. Approve as a normal organizer, As viewer for read-only access to shared sessions (no editing), or As admin. An existing admin can also Make admin on an approved account. Player weights and Group Robin bands (G1–G4, Special) are visible only to admins; organizers see DUPR / self rating.

Sharing: on the Sessions tab, tap Share on any session you own to give specific people access by email (they need an account). Choose view-only, or allow them to enter scores and edit (viewer accounts are always view-only). Shared sessions appear in their "Shared with me" list. From the same Share dialog, tap Publish results for a public link anyone can open without signing in — they see live Standings and the schedule (weights stay hidden; groups show as Group 1–4 only; round notes stay private). Unpublish or New link anytime to revoke access.

Saving: everything is stored in your account (Cloudflare D1), synced automatically a moment after each change. Sign in on any device — phone at the courts, laptop at home — and you’ll see the same players, sessions and scores. Live scoring: court scores merge safely across devices (two people can save different courts without overwriting each other). Pairing changes on another device prompt a reload. The Current tab also refreshes scores when you return to it or about every 15 seconds.

About

Rally Robin

Pickleball round robin & tournaments

Version 1.13.9

Last deployed
—

Made by 168 Labs

© 2026 168 Labs. All rights reserved.

Select a player to swap with…
Last swap can be undone