Tournaments
Tournament invitations, pairings and results, without leaving the app.
Tournaments at the top of Coaching in the sidebar (/tournaments) is this
app's own view, built with the site's theme: live Tabroom tournaments plus the
ones hosted here. Tabroom's own site, framed, is still reachable directly at
/practice/tabroom, but no longer has a sidebar row.
Tournament addresses
Each tournament's pages live under the year it starts and its name, so
the Yale Invitational's results are at /tournaments/2026/yale-invitational/results
and its pairings at /tournaments/2026/yale-invitational/rounds. Links that
name a tournament by its Tabroom number (/tournaments/38436/results) still
work and settle on the named address once the tournament loads; so do old
/practice/tournaments/… bookmarks, which redirect here.
An address that doesn't match a page sends you to the nearest one that does:
a mistyped section (/tournaments/2026/yale-invitational/nope) goes back to
the tournament, and a tournament name that matches nothing goes back to
/tournaments. Anywhere else on the site, a missing page sends you one level
up the address the same way.
What you can see
- Upcoming tournaments, searchable by name, state, circuit or event. Tournaments hosted on this site, marked Hosted here, come first, then live Tabroom's. Host Tournament opens the creation form and Demo admin opens the demo tournament's admin view.
- Invite: dates, location, registration deadline, events with entry counts and fees, posted documents (each opens the file), contacts and the tournament's info pages.
- Pairings: every published round, grouped by event. Opening a round shows each room's entries (sides or speaker order) and judges.
- Results: every published result set, with places, entries, schools and the tiebreak columns Tabroom reports (wins, points, ranks…).
- Tabroom: on a live Tabroom tournament, the last tab opens Tabroom's own page for it in a frame, so you can register or enter ballots there.
- Admin: on a tournament hosted here, the last tab is its admin view instead (see below).
- Ballot: judges submit a ballot for a round (see below).
Submitting a ballot
The Ballot tab (/tournaments/2026/yale-invitational/ballot) is where a
judge files a ballot: event, round, room, the two entries, the winner (with a
low-point-win box), optional speaker points and the reason for decision.
Open it from the tab strip at the top of any tournament page and enter the
pairing there.
You must be signed in, and the Tabroom account email on the ballot must match the email you are signed in to Debate AI with. The form shows whether it matches as you type and won't submit until it does; the server checks again and turns the ballot away if not.
Send to picks where the ballot goes:
- Debate AI only stores it here, at
/api/judge-ballots. Your ballots for the tournament are listed under the form. - Tabroom also sends it on to Tabroom using your own Tabroom API token,
which is passed along and never saved. A copy is kept here either way, marked
with whether Tabroom accepted it. This option is greyed out until the site
sets
TABROOM_BALLOT_URLto Tabroom's ballot endpoint; until then, use Open my Tabroom ballots to enter it on Tabroom directly.
AI agents can submit the same ballot as a tool call: GET /api/judge-ballots/tool returns the submit_judge_ballot tool definition, and
calling it means posting those arguments to /api/judge-ballots under the
judge's session, with the same email rule.
Hosting your own tournament
Host Tournament on the upcoming page (or /tournaments/host)
creates the tournament in this site's own hosting API (the Tabroom tables the
debate-tournaments package runs in the app's database, at /api/tabroom).
Nothing is created on Tabroom. You need to be signed in. Give it a name, dates,
where it is held, and pick the formats it runs:
- Virtual — fully remote, rounds run online via video.
- In-Person — at a single physical venue.
- Long-Term Online — online, scheduled across multiple days or weeks.
Formats
A tournament runs any combination of these formats, each of which becomes its own division you can customize:
- Policy — 1AC/2AC/1AR/2AR against 1NC/2NC/1NR/2NR, four cross-examination periods.
- LD — 1AC/1AR against 1NC/2NR, one debater a side.
- Public Forum — CON/AFF/NS/AS/NAF/NEG with a shared grand cross-examination, where the flip decides who speaks first.
- Parliamentary — PMC/MG/PMR against LOC/MO/LOR, with points of information instead of cross-examination.
- British Parliamentary — four teams of two in each room, ranked first to fourth.
- World Schools — three speakers a side plus a reply speech, squads of up to five.
- Asian Parliamentary — three speakers a side plus a reply speech.
- Big Questions — constructive, rebuttal, consolidation and rationale on each side, with question segments.
- IPDA — one-on-one, with two cross-examination periods.
- Congressional Debate — a chamber of legislators, with authorship, alternating pro and con speeches and questioning.
Per format you choose the division it runs in (Open, Novice or JV), how entries are written in pairings, a cap on entries per school, an entry fee, and a note that appears on the public invite.
The admin view
Every hosted tournament has an admin web view at
/tournaments/<year>/<name>/admin, open to its owners and admins. It shows the
events with their entry counts, the whole schedule (including rounds that are
not published yet), every entry and its status, schools, judges, rooms and
result sets, each linked to its public page.
The demo tournament
The Debate AI Demo Invitational is a demo tournament anyone can browse as its admin, signed in or not, under the mock username demo.admin. It is the only demo, and it is a full-size tournament: Policy, Lincoln-Douglas, Public Forum and Parliamentary debate plus Original Oratory, Extemp, Dramatic Interp and Informative, with 40 entries in each from 32 schools. Every debate division has six power-matched prelims and a 16-team break from octafinals to finals, and speech has three prelims, semifinals and a final. Its results include prelim seeds, final places, speaker awards and the elimination bracket. Demo admin on the upcoming page and Try the demo admin on the host page both open it. The site loads it by itself when it is missing or over, so its dates always stay current.
Editing the demo's mock data
The demo's admin view ends with Edit mock data, where anyone can change its entries (code, name, status), judges (name, code, active), rounds (label, whether pairings are published and results posted), pairings (each section's judges and, in debate, its winner) and result sets (label, published). Each row saves on its own with Save. Edits only ever change the demo tournament, never a hosted tournament or Tabroom's data; they are shared by everyone browsing the demo and last until Reset demo data reloads the original mock data (or the demo reloads itself once it is over).
Watching the demo's rounds live
The demo's pairings show simulated live rounds. Next to each room the Live column shows the speech under way (for example 2NC · Neg) and how far through the round it is, and each round on the Pairings tab shows the same for its typical room. The Results tab lists the round each event is debating right now under Live now.
Tune in opens a room's stream under it:
- live captions of the speech being given, with the time left in it;
- the speech order, with finished speeches greyed and the current one filling up;
- Live updates: when each speech, cross-ex and prep began and ended, then the decision;
- Speech summaries, one per finished speech, each with Listen to hear it read aloud;
- Listen live, which reads each speech aloud as it starts.
Rounds run at six times real speed and loop — check-in, the speeches, then the decision — so there is always something on. The speeches and summaries are generated filler, not real debates, and every viewer sees the same moment. Read-aloud uses your browser's built-in voices.
Good to know
- Pairings and results are refreshed at most once a minute, so reload during a tournament to see the latest round.
- Two tournaments with the same name in the same year can't share an address, so the second one keeps its Tabroom number in its links.
- You are recorded as the tournament's owner, and registered in every format it runs, so the first pairing has somebody in it.
- The admin view reads the tournament; adding schools, rooms, rounds and ballots from it is not built yet.
- Signing in to Tabroom happens on Tabroom, inside the Tabroom row's frame; live Tabroom tournaments show public information only.
