The Mixer — live round-robin generator

Roster management

Build tonight's Mixer roster: add players one at a time, paste a whole list, pull from a saved group, or export for next week — and restore removed players.

The roster tells the Mixer who's playing tonight. Build it one player at a time, paste in a whole list, pull from a saved group, or export it for next week. Removing a player soft-deletes them — you can always bring them back without losing their session history.

Adding players

Single add — type a name in the input at the top of the roster and press Add Player (or Enter). With a group active, the input autocompletes as you type; selecting a match imports the player's saved rating, gender, and fixed-partner link.

"N players" shortcut — type 10 players (or any number up to 100) in the same input and press Add Player. The Mixer creates that many placeholder players named Player 1, Player 2, etc., numbering past any existing Player N rows so a second bulk-add doesn't produce duplicates. Useful for testing court layouts before a real roster arrives.

Suffix codes on a name — when typing a name (or using bulk import), attach these codes to set attributes inline:

Suffix Effect
/m Mark the player male
/f Mark the player female
/rN Set a rating (e.g. /r4.2)
/s Mark the player as sitting out to start

Example: Jamie Smith/f/r3.8 adds Jamie as female with a 3.80 rating. Suffixes are case-insensitive and can be combined in any order.

Players can add themselves — with Player self-service on, anyone who scans the big-screen QR can type their own name and join the roster, so a check-in line builds your roster for you.

Bulk import (clipboard icon)

Click the clipboard icon next to the name input to open the import menu. What appears depends on your current state:

  • Paste/Type multiple names — opens a textarea (one name per line). Each line accepts the same suffix codes. A live counter shows how many players you're adding and what the new total will be. Duplicate names (case-insensitive) are rejected before anything saves.
  • Import from your group — appears when you're logged in with a group active. A searchable modal lists the group's saved players; already-rostered players are greyed out. Confirming adds the chosen players with their saved ratings, genders, and partner links.
  • Export current roster — appears once you have players in the roster. Outputs all names in a readonly textarea; copy to clipboard or download as a .txt file. Names export without suffix codes.

The roster holds a maximum of 150 players.

Long lists on a free account

On a free account — or with no account — a pasted list fills the roster up to the number of players a free account holds. Any names past that appear in a list titled "These players need to be added manually", pinned just above the roster, with a Copy button next to each name. Type or paste them into the roster and they behave like every other player — same ratings, same badges, same everything. The list sticks around until you've worked through it, and closing it doesn't lose the names.

The list also says why it's there. If the names arrived from a link, it tells you player links don't auto-load on a free account — so a link that looks like it did nothing is never left unexplained.

Two things this is not: it isn't a limit on mixing — every plan, free included, mixes with as many players as your courts hold — and it isn't silent, because nothing is ever dropped without being named on screen.

Where the names came from decides what happens:

Source On a free account
Import from your group, or launching the mixer from the dashboard Imported normally, every time — your saved players are yours.
Paste/Type multiple names Fills the roster up to the free limit; the rest go to the manual list.
A ?players= mixer URL Every name goes to the manual list.
An older "restore my roster" email link Clicking through from the email opens the whole roster straight into the mixer — those are names you typed yourself, and we promised them back.

Lite and above paste or open a link of any length in one step.

Roster settings (⚙)

The gear button next to the roster header opens the Roster Settings panel. Changes take effect immediately.

Display

Setting What it does
Large Player Fonts Mode Increases font size in the roster and courts; switches to a single-column layout per card
Site-wide zoom Opens a zoom control that scales text across the whole page
Show Link Names Displays each player's fixed-partner name beneath their name in the roster
Show Courts Shows the court assignment for each player in the roster list
Quick Scroll Bar Adds a draggable scroll tab on the side of the page; you can set it to the left or right side

Sort players

A dropdown lets you order the roster by:

  • Alphabetically — A to Z by name
  • By Status — active players grouped before sitters
  • By Rating — highest rating first
  • By Gender — groups players by gender tag
  • Chronologically — order players were added (oldest first)

Default rating and gender

Set Default Rating applies a rating to all currently unrated players and sets the starting rating for anyone added afterward. Reset All Ratings clears every rating at once. Rating fields (here, and the per-player rating dialog) accept a comma or a period as the decimal mark, so 3,55 and 3.55 mean the same thing.

Set Default Gender stamps all genderless players (and future additions) as male or female. Reset Gender clears all gender tags.

Both are session-level — they don't change data saved to your group.

Roster Recycle (♻)

Removing a player — via their row menu or the Roster Recycle modal — moves them to the trash rather than deleting them outright. The ♻ button appears in the roster header whenever the trash has entries.

The modal has two tabs. Roster shows your active players so you can send one or more to the trash in bulk. Trash shows soft-deleted players; from there you can restore or permanently delete them. Both tabs support alphabetical or date sorting, per-card actions, and Select All for bulk operations. Restoring brings a player back to the active roster. Permanent delete removes them from the session entirely — no further undo.

VIP — a player who never sits out

Mark a player VIP from their three-dot menu (⋮ → ⭐ VIP) when they should play every round and never be benched — a guest of honor, someone there for a short window, or a paying drop-in. VIPs are pulled out of the sit-out rotation entirely: the engine always sits other players first and never picks a VIP to rest.

Because a VIP always plays, you need enough court seats to make that possible. If you have more VIPs than seats, the Mixer stops before mixing and asks you to drop a VIP tag or add a court rather than quietly benching one. A counter near the top of the roster shows how many VIPs are set, and you clear the tag the same way (⋮ → ⭐ Remove VIP).

Bad Blood — keep two players apart

Sometimes two players just shouldn't share a court — a couple who'd rather not partner, or two regulars whose rivalry runs a little too hot. Open a player's three-dot menu and choose ⋮ → 🩸 Bad Blood to set, against any other player, whether they should never partner together, never play against each other, or both.

It's a soft constraint: the Mixer tries hard to honor it, but on a tight roster it will seat two Bad Blood players together rather than force a worse repeat onto the round — replaying a partner pairing the group has been keeping fresh, or repeating the exact same four-player game. (Under the hood a Bad Blood rule is treated like a heavy partner/opponent repeat, so it competes head-to-head with those freshness goals.) When the engine has to make that trade, the player's row flags it (the ⚔️ and 🩸 badges in Player badges), so you can see exactly what happened.

A Bad Blood rule sticks to the player and applies again whenever both players are on the roster together.

What's next