The five-step wizard

Every live match is created through a five-step wizard. Progress is saved in your browser at each step, so you can navigate back and forward without losing data.

Step 1          Step 2          Step 3          Step 4          Step 5
Select Stream ▶ Select Table ▶ Match Info   ▶ YouTube Setup ▶ Go Live
(which OBS rig)  (which table    (players,       (sign in,        (dashboard —
                  & OBS config)   event, format)   stage or live)   control match)

Quick-start checklist

Before you start, make sure:

  • The server is running and accessible in your browser
  • At least one Rig is configured in Admin → Tables
  • At least one Table is configured and mapped to that rig
  • The OBS machine for that rig is online and the browser source is loaded
  • (Optional) You are signed in to YouTube if you want to auto-create a broadcast

Step summaries

Step 1 — Select Stream

Choose which OBS rig will host this match. The app shows real-time online/offline status and whether a rig is already in use. Detailed guide →

Step 2 — Select Table

Choose which table configuration to use. This determines the OBS profile, scene collection, and scene names that will be sent to the rig. Detailed guide →

Step 3 — Match Info

Enter the event name, match format, player names, and optional settings (draw/round, CueTools timer ID, PoolStat live scoring IDs). Detailed guide →

Step 4 — YouTube Setup

Optionally sign in to YouTube to auto-create a broadcast. Then choose to Stage the match (config sent, stream not started) or Go Live immediately. Detailed guide →

Step 5 — Live Dashboard

Monitor all active matches. Switch scenes between Match and Intermission, update YouTube titles, or stop the stream when the match ends. Detailed guide →

Data flow

When you click Start — Match or Start — Intermission, the PWA sends a single MQTT message containing all match data to the rig’s broker topic. OBS receives it via the browser source overlay and:

  1. Switches to the correct OBS scene (via OBS WebSocket)
  2. Starts the stream with the correct stream key (if applicable)
  3. Updates all scoreboard elements (player names, event, format, logos)

If YouTube authentication is active, a broadcast is created (or reused) before the MQTT message is sent, and the stream key is injected into the payload automatically.