RallyQ · Organizer Handbook
Run the room.
The whole rally is yours.
Everything your organizer dashboard can do — the courts, the queue, the players, the scoreboards, and the money — in one place.
The hub. Create the session, set up courts, manage the roster, drive the queue, and read the money. Everything below is launched from here.
Tap-to-score on a phone at the net. Opened by scanning the court's QR — no login.
Players join by QR, see their queue spot and wait time, and tap "sit out".
Live scores and up-next, read-only, built for a 1080p screen. Spectators watch; nobody can edit.
The RallyQ ecosystem
RallyQ isn't one screen — it's four surfaces that talk to each other in real time. You only ever operate one of them. Knowing what the other three are for is the whole game.
- Organizer Dashboard — your control room. Sessions, courts, roster, queue, settings, and the end-of-day finance and stats all live here.
- CourtScore — the scoring app a volunteer runs on a phone at each court. They get in by scanning that court's QR; they can score, undo, end, and fix. They never see your dashboard.
- Player's Buddy — the player-facing app. A player scans your session's join QR, enters a name and level, and from then on sees their place in line, their wait time, and a "sit out next round" button.
- TV Displays — public, read-only scoreboards for a screen on the wall. Live courts, who's up next, and the join code so newcomers can hop in.
Everything flows out from the dashboard as a link or a QR code, and everything flows back as live updates. You hand out access; you never hand out control.
You don't have to do the scoring yourself, and players don't have to crowd around you to ask "am I next?". Delegate scoring to CourtScore, delegate "where am I in line?" to Player's Buddy and the TV, and spend your attention on the room.
Your first session in 5 minutes
A session is one block of open play at one venue. Here's the whole path from nothing to a live court.
- Create the sessionName the venue and set how many courts you have. You land on the session dashboard — your home base for the day.
- Confirm your courtsOpen Courts & players. Rename courts, reorder them, or reset to a standard 1–4. A court can't be removed while a game is live on it.
- Get players onto the rosterThree ways, mix freely: add a walk-in yourself, let players scan the join QR to self-register, or hand a specific player a claim QR so an entry you created becomes theirs. (Details in §05.)
- Start a gameOn the Court board, "Propose game" lets RallyQ pick a fair foursome, or "Manual pick" lets you choose. Then "Start game" puts it live and the timer runs.
- Hand the court to a scorerTap a court's "Scoreboard link" to show its QR. A volunteer scans it with CourtScore and takes over the tapping. You're now free to run the room.
New organizers get a "Getting started" card on the dashboard that tracks these first steps. You can ignore it and explore freely — nothing here is locked behind it.
Running live play
The Court board is where the session breathes. Each court is a card that moves through three states.
- Idle — empty court. "Propose game" asks the queue engine for a foursome; "Manual pick" lets you build the teams by hand from everyone who's free.
- Queued — a match is assigned and waiting. "Start game" begins it (and starts the timer); "Manual" lets you override the pick; "Clear" sends it back.
- Live — a game in progress with a running clock, team names, and the current score. From here you end the game, cancel a mistake, or fix the score.
Ending a game cleanly
"End game" closes the match and frees the court. If a game is still 0–0 when you end it, RallyQ asks for the final score first, so a finished game is never recorded as a tie that never happened. For a match that started by accident, a quick "Cancel match" removes a sub-one-minute 0–0 game with no record.
When the session is open, your courts are set, you have at least four players, and no games are running yet, the board shows a short "what to do now" prompt — your cue that the room is ready to play.
Auto-queuing & the two modes
You can match every game by hand, or let RallyQ's queue engine do it. Auto-queue keeps courts filled automatically: start it from the court board and RallyQ proposes fair foursomes as courts free up. Stop it any time — your manual control is always there, and every override is yours to make.
Reactive vs. scheduled
RallyQ has two ways of thinking about the queue. Pick one in Settings → Match queue.
Decide at the moment
The next match is chosen only when a court actually frees up — always from the freshest picture of who's waiting.
Best for casual drop-in play where people come and go and you want maximum fairness right now.
Plan the next rounds
RallyQ pre-computes several matches ahead into an "upcoming" queue you can reorder or trim. Set how many to queue ahead with queue depth.
Best for a settled group where you want players (and the TV) to see what's coming next.
In scheduled mode, a match that's up next is assigned to a court but not auto-started — a scorer or organizer still taps "Start" when the players are actually on court. Nothing jumps to live on its own.
Tuning the queue weights
Five sliders shape what "fair" means to the engine. Each runs low → high. Turn one up to make the engine care about it more.
| Weight | Turning it up means… |
|---|---|
| Sit-out time | Players who've waited longest get picked sooner. The core fairness dial. |
| Level match | The two teams are matched closer in skill level, for tighter games. |
| Avoid repeat partners | More strongly avoids pairing the same two people together again. |
| Avoid repeat opponents | More strongly avoids the same players facing each other again. |
| Balance games played | Favors players who've had fewer games so far, evening out court time. |
Auto-queue needs at least four eligible (active, not sitting-out) players and an open session. Below that, the controls stay disabled until more players are in.
Managing players
The roster lives under Courts & players. Search it, sort it by name, rating, or court, and switch between list and grid views as the group grows.
Three ways in
Walk-in
You add the player — name and a self-declared level. Fastest for people who just showed up. Quick-add sits on the board, or press the n key.
Self-join
The player scans the session join QR, enters their own name and level, and lands on the roster and on Player's Buddy in one step.
Claim
Added someone as a walk-in? Generate a claim QR from their roster row. They scan it and that entry becomes theirs — so a player you pre-registered still gets live queue updates on their phone.
Per-player controls
Each roster row's menu gives you: Sit out / Back in (hold a player out of the queue without removing them), Set fixed partner, Claim profile (QR), and Leave session. Players who leave drop into a collapsed section where you can rejoin or claim them later.
Fixed partners
Pick two players to be a fixed partner pair and the queue engine always teams them together for the rest of the session — ideal for couples, a coach-and-student, or anyone who came to play together. Unlink them any time.
The more players self-join or claim their profile, the less you're fielding "when am I up?" — it's answered on their own phone and on the TV.
Scoring & court handoff
Scoring happens in CourtScore, handed off per court so you're not running between nets with one phone.
Handing off a court
Each court card has a "Scoreboard link" — a QR a volunteer scans to open CourtScore for that court. From there they tap each team's zone to score, with side-out, undo, end game, and rematch controls. Everything is offline-first: taps queue locally and sync when the connection is back, so a dead spot at the venue never loses a point.
Scorer codes & the staleness badge
Access to a court is controlled by a per-court scorer code baked into that QR. RallyQ rotates it automatically whenever a game starts or ends, so an old link can't keep scoring a new game. If a court shows "No active scorer — score may be stale," nobody's actively holding it; use Rotate code to mint a fresh link and hand it to someone.
The scorer code is the only thing standing between a court and whoever can score it. Share the QR with your scorers, not the world — and it's never shown on the public TV displays.
Fixing a score
Mistakes happen. Both you (on the court board) and the scorer (in CourtScore) have a "fix score" control — set the score directly, or nudge each side up or down. Corrections are recorded as events, not silent overwrites, so the history stays honest.
No session? Standalone still works
CourtScore also has a standalone mode — four names, points to win, and score a one-off game with no session at all. Handy for a casual match; a gentle prompt offers the full dashboard when they're ready for more.
TV displays & scoreboards
Put a screen on the wall and the room runs itself. Displays are public and read-only — they show, they never edit — and they're built for a 1080p TV, scaling down to a phone.
- TV · split — live courts on top, up-next below, all on one screen. No rotation. Best for a single big display.
- TV · auto-rotate — cycles through live courts and the up-next board on a timer you control.
- Live — just the live scores, nothing else.
- Up next — the queue and the waiting list, ordered by time in line.
- Court spectator — a single court's big scoreboard, from that court's "Watch" link. Great for sharing a specific match.
Launching & tuning
Open the split or auto-rotate display from Settings → Session status (they open in a new tab — cast or full-screen that tab on the TV). Set how long auto-rotate holds each screen with TV display rotation (seconds) in Settings → Display. Every display also shows the session join code, so a newcomer watching the screen can scan in without finding you first.
The spectator and display links need no login and expose no codes — safe to drop in a group chat so people can follow along from anywhere.
After the session: money & stats
Close the session from Settings → Session status. Closing retires the scorer codes and switches your dashboard to the wrap-up views.
Finance
The Finance tab (available once the session is closed) is where the money lives:
- Session cost — enter the total you paid (court rental, etc.); RallyQ splits it across players proportionally by minutes played.
- Revenue & profit — set a fee per player and any misc expenses to see revenue, cost, and profit or loss.
- Player value — each player's fair share versus what they paid.
- Player happiness — the share of players who got fair value for their fee, once revenue is configured.
Stats, summary & recaps
The Stats tab surfaces top tandems and rivalries and a full match log. The Summary gives an at-a-glance wrap with a leaderboard, plus a CSV export of every player's games, wins, losses, and wait time — and shareable recap images, individually or in bulk, to send players home with.
During play your focus is the board, players, and settings. Finance and the summary appear once you close — so the end-of-day numbers reflect a finished session, not a moving target.
QR cheat-sheet
RallyQ hands out four kinds of QR code. They look alike; they do very different things. Keep them straight.
| QR code | What it does | Who scans it | Where you find it |
|---|---|---|---|
| Join session | Registers a player and opens Player's Buddy. | Players | Top bar "Share join QR"; also on every TV display. |
| Scorer handoff | Opens CourtScore for one court. Carries the scorer code. | Your scorers | Court card → "Scoreboard link". |
| Spectator watch | Opens one court's read-only scoreboard. No login. | Anyone | Court card → "Watch". |
| Profile claim | Links a walk-in entry you made to that player's phone. Expires ~15 min. | One specific player | Roster row → "Claim profile (QR)". |
Only the claim QR is short-lived — show it to the player on the spot. If it lapses, just generate a fresh one from their roster row.
FAQ & troubleshooting
A court says "score may be stale" — what now?
No one is actively holding that court in CourtScore (the scorer closed it or their link rotated out). Tap Rotate code on the court card to mint a fresh scorer link and hand it to a volunteer.
A player can't claim their profile — the QR says it's invalid.
Claim QRs expire after about 15 minutes. Open that player's roster row and generate a new "Claim profile" QR, then have them scan it right away.
Auto-queue and "Propose game" are greyed out.
You need at least four eligible players — active and not sitting out — and the session must be open. Add or bring back players until you clear four.
Does anything break if the venue Wi-Fi drops?
No. Scoring is offline-first: taps are stored on the device and sync when the connection returns, replayed in order so no point is lost or double-counted. Keep scoring through the dead spot.
Can I reopen a session once it's closed?
Not in the current version — closing is final. It retires the court scorer codes and switches the dashboard to the wrap-up views (Finance, Stats, Summary), which stay available afterward. But you can't return to live play, so close only when play is genuinely done.
Where did the Finance tab go during play?
Finance and the end-of-day summary only appear once the session is closed, so the numbers reflect a finished session. Enter your session cost there after you close.