Rally Robin

Pickleball round robin generator
0
Players
0
Playing
Avg weight
Avg rating

Add player

Import / export

CSV format & Playtime Scheduler

CSV columns: name, weight, rating, gender, ranked (header row optional; weight defaults 50, rating defaults 3.5). Playtime Scheduler has no public API, so copy the player names from your session page into a CSV (one name per line works too) and import it here.

Roster — tap Edit to change details, or the switch to sit out

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

Session setup

Each generate saves a new session — open it on the Sessions tab to enter scores, reshuffle, or edit players.

Session players

Choose who's playing today before generating rounds.
+ Add new player

Sessions

Every generated schedule is saved automatically as a session — scores included. Open one to enter scores, reshuffle, or edit session players.

Standings

🏆
Enter match scores on the Sessions 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. Repeat-partner tracking updates automatically.

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 the Rounds tab) when possible.
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.

Weight & rating: Weight is a custom integer for balanced pairing (e.g. 100, 23). Rating is the formal pickleball rating (e.g. 3.5, 4.0). Both are stored per player; pairing uses weight only.

Scores & standings: enter each game's score in the strip below the court, then tap Save. Standings tabulate individually — every player is credited with their team's result each game, since partners rotate. Rank by win percentage (ties count as half a win) or by total points scored; point differential breaks ties.

Session players: on the Rounds tab, pick who's playing from your roster before generating. After opening a session, add or remove players on the Sessions tab — the app offers to regenerate remaining rounds while keeping completed scores.

Reshuffle: after updating player weights, Reshuffle with current weights rebuilds only rounds without saved scores. Reshuffle all rounds creates a new copy of the session (original scores preserved) when any scores are saved.

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.

Byes: when players don't divide evenly into courts, each player sits out at most once per session. The scheduler spreads byes before anyone sits twice.

Sessions: Generate rounds (new session) on the Rounds tab always saves a separate session. Open it on the Sessions tab to enter scores, reshuffle, or edit session players.

Roster: tap Edit on any player to change name, weight, rating, gender, active status, or standings inclusion. Uncheck Count in standings for guests or drop-ins who shouldn't appear in the leaderboard.

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, or As viewer for read-only access to shared sessions (no editing, player weights hidden).

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.

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.

Select a player to swap with…