Strategy — host workflow14 min readUpdated: April 2026
Strategy — Host workflow

Run a Tournament on Pokékipe

Pokékipe's tournament engine runs the full host workflow — bracket creation, seeding, check-in, match management, dispute handling, standings — without you leaving the site. This page is the end-to-end host workflow, in 12 steps, with the engine UI as the active tool.

Bracket types

Single-elim, double-elim, Swiss, round-robin

Cost

Free — no player count cap

Match flow

Auto-report + dispute → host-resolve

Audit

Full trail of host actions, transparent

A clean tournament feels boring to host: matches resolve themselves, disputes are rare, standings publish on schedule. That "boring" outcome is the result of disciplined setup. Spend 20 min configuring; save 2 hours of mid-tournament chaos.
The host's first principle

At a glance

Hosting a tournament is a 12-step workflow. The first 4 steps happen pre-tournament (configure, seed, check-in, start). The next 7 happen during play (match lifecycle, auto-report, disputes, host-resolve, deadlines, chat, standings). The last 3 close it out (grand final, edit/cancel, audit).

  • Pre-tournament (Steps 1-4)Configure → Seed → Check-in → Start
  • During play (Steps 5-10)Match lifecycle, auto-report, disputes, host-resolve, deadlines, standings
  • Close-out (Steps 11-12)Grand final (DE), edit/cancel, audit trail
  • Bracket typesSingle-elim, double-elim, Swiss (Pokémon Champions standard), round-robin
  • Match statespending → ongoing → finished | disputed | forfeited | bye
  • Dispute flowMismatched auto-reports → disputed → host-resolve final ruling

Step 1 — Create the tournament

Open the tournament engine, click "Create." The form has 8 fields — name, slug, format, visibility, bracket, max players, timer, description. Each one matters; spending 5 min here saves issues later.

The 8 fields

  • NameWhat players see on the hub and the detail page. 3–80 characters, anything goes.
  • URL slugThe path part after /tournaments/ — lowercase, digits, hyphens. Auto-suggested from the name but editable. Must be unique.
  • FormatGen 9 OU, VGC 2026 Reg H, Gen 8 Ubers… Fixed at creation; can't be changed later.
  • VisibilityPublic (listed on the hub, anyone can join) or Private (invite-only via a generated code).
  • Bracket typeSingle-elim, double-elim, round-robin or Swiss. See the next section for the tradeoffs.
  • Max players (optional)Soft cap on registrations. Leave empty for no cap. Double-elim requires at least 4 players.
  • Match timer (optional)Minutes allowed per match once both players are known. If the deadline passes, the match is auto-disputed and the host steps in.
  • Description (optional)Free-form text for rules, schedule, team clauses, prize pool. Shown prominently on the tournament page.

Step 2 — Seed the bracket

Seeding determines who faces whom in round 1. Higher seed = better matchup against lower-seeded players. Pokékipe auto-seeds by ELO if available; you can also manually arrange.

Seeds are auto-assigned in registration order (FIFO) at /start time.

Before launching, you can manually reorder via "Reseed" on the tournament page. Useful for placing top seeds on opposite sides of the bracket (classic pattern: 1 vs 8 in the quarterfinals, 2 vs 7, etc.).

Step 3 — Run check-in

Check-in is the window between "tournament published" and "bracket starts." Players confirm presence; no-shows get auto-removed. Skipping check-in = bracket starts with absent players, who get assigned forfeits.

Check-in is an optional lock that forces players to confirm attendance before the launch. Useful for scheduled events where you want to avoid no-shows in round 1.

Check-in workflow

  1. Host clicks Open check-in on the tournament page (only during draft/registration).
  2. Registered players see a Check me in button; clicking flips their status from registered to checked_in.
  3. When the host clicks Start, any player still in registered (not checked in) is auto-dropped from the bracket.
  4. Host can also Close check-in at any time to disable it again without starting.

Step 4 — Start the bracket

Once check-in closes, click "Start." The engine generates round 1 matches based on seeds, notifies players, and starts the match timer. From here, the tournament is live.

Ready to launch? Click "Start tournament" (green button, host only). The engine then:

What happens at start

  • Locks registrations — nobody else can join.
  • Assigns final seeds (respecting any manual reorder you did).
  • Generates the round 1 bracket according to your chosen format.
  • Auto-advances any byes (e.g. for non-power-of-2 participant counts).

The tournament moves to "ongoing" status, no more sign-ups possible. Players get their first opponent in their notifications feed.

Step 5 — Match lifecycle

Every match in the bracket goes through a defined sequence of states. Knowing the states means knowing what action is required at each point.

Each match follows a well-defined lifecycle. Here are the statuses you might see on the bracket:

The 6 match states

StateMeaning
pendingCreated, waiting for both players to be known.
ongoingBoth players confirmed, match in progress on Showdown.
finishedWinner recorded, bracket advanced.
disputedA player flagged the match (or the deadline expired). Host must resolve.
forfeitedA player gave up (self-forfeit) or was DQ'd by the host. Winner recorded + advance.
byeNo opponent — player auto-advances. Common in non-power-of-2 brackets.

Step 6 — Auto-report results

Auto-report is the standard match-resolution flow: both players submit the result; if reports match, the match auto-finalizes. Disagreement flips the match into disputed state for host-resolve.

This is the killer feature on the Pokémon side — you don't manually pick the winner. Once both players are known:

Auto-report flow

  1. Play the match on Pokémon Showdown as normal.
  2. At the end, click Save replay on Showdown — you get a replay URL.
  3. Open the match room in Pokékipe (click the match in the bracket) and paste the URL in the Report result box.
  4. We fetch the replay, verify both players match the expected pseudos and the format matches, extract the winner from the Showdown log, and close the match. Bracket advances automatically.

If the two players aren't who we expected (wrong replay, pseudo mixup) or if the format doesn't match, the report is rejected with a clear error message. In that case, re-play the match or fall back to "Host resolve" if the incident can't be fixed.

Step 7 — Disputes & forfeits

When auto-report fails (mismatched results), the match goes into disputed. Forfeit is when a player no-shows or concedes mid-match. Both end up at host-resolve.

Disputes

If the match is blocked (no-show opponent, cheating suspicion, server issue, disagreement on the result), a player or the organizer can dispute it. The match moves to `disputed` status with a free-text reason. It's then frozen until the organizer arbitrates via "Host resolve".

Forfeits

Use this when someone has to drop out or didn't show up. Two variants:

  • A player forfeits: they can only declare their opponent as winner. Good for self-withdrawal.
  • The host forfeits: picks either player as winner. Good for DQ'ing (rule violations, harassment, etc.).

Step 8 — Host resolve

Host resolve is where the host (or co-host) makes the final call on a disputed match. Replay evidence, screenshots, witness reports — all considered, but the host decides. The decision is logged in the audit trail.

After a dispute — or simply when auto-report isn't available — only the organizer can close the match. Click "Host resolve" in the match room, pick the winner from the two players, and it's done.

The resolution is logged in the audit with your user_id, timestamp and chosen winner. It's final: there's no undo (by design — the host's arbitrage is sovereign).

Step 9 — Deadlines & chat

Match deadlines and tournament chat are the two communication tools that keep play moving. Use deadlines aggressively (slow players slow the whole bracket); use chat to broadcast announcements.

Match deadlines

If the tournament has a configured timer, each match that becomes playable gets a deadline = now + timer. A countdown badge shows up on the match in the bracket and in the match room.

When the deadline expires, the match is auto-flagged as disputed with reason `deadline_exceeded`. The organizer then has to step in — extend via a fresh resolution, pick a winner, or cancel.

Tournament chat

Each match has its own chat room, visible only to the two players and the organizer. Use it to coordinate timing, share the Showdown room URL, report a technical problem.

Messages appear in real time via server-sent events — no need to refresh. History is kept after the match ends for up to 30 days, for dispute reference.

Step 10 — Standings & publication

Standings auto-update as matches finish. Once the final match resolves, standings are locked and the tournament is closed. Publication makes the bracket + standings publicly visible (or private depending on config).

For round-robin and swiss brackets, a "Standings" panel shows each player's real-time position. The columns:

Standings columns

  • Wins — matches won (including byes and received forfeits).
  • Losses — matches lost (including self-forfeits and DQs).
  • Played — total matches closed (excludes byes).
  • Pending — matches still ahead of you this round.

Step 11 — Grand final (double-elim only)

In double-elim, the grand final is special: the upper-bracket finalist has bracket advantage. If the lower-bracket finalist wins game 1, the bracket resets — they must win twice. Pokékipe handles this automatically.

Double-elim brackets end with a grand final between the upper bracket champion (UB) and the lower bracket champion (LB). The UB arrives with 0 losses, the LB with 1. That's why the system has a reset mechanic.

If the UB champion wins the grand final → the tournament ends (still 0 losses). If the LB champion wins → a bracket reset match is automatically created. Both players are now at 1 loss each. The true winner of this second round takes the tournament.

Step 12 — Edit, cancel, audit trail

Tournaments aren't immutable post-creation — edits before start are free; mid-bracket edits are constrained. Cancellation is final. Every host action is logged in an audit trail for transparency.

Edit + cancel

While the tournament is in draft or registration, the organizer can click "Edit" on the detail page to adjust name, slug, description, visibility, bracket, cap, dates, and timer. The Pokémon format is deliberately not editable after creation — changing it would invalidate auto-report checks.

Audit trail

Every sensitive organizer action (start, resolve, forfeit, cancel, edit) is logged in the "Audit" tab. Visible to the organizer only. Contains action type, author, timestamp and details — useful when a player files a claim or for post-mortem on an incident.

Where to go from here

Hosting is one half of the tournament loop. The other half is competing — see the player-side guides below.