A live scoreboard for the event. One person puts the stadium screen on the big display; the host runs the contest from their own device. Everything the host does — adding a player, pushing a score, calling the ranking — lands on the stadium screen instantly.
At the event: share this same link with whoever runs the screen — they pick “Stadium
screen”, you open “Monitor”.
To try it now: open this link in a second browser tab and pick a different role in each.
Each tab keeps its own role and the two stay in sync.
Type the score and press Push to screen — nothing reaches the crowd until you do. Decimal comma works too: 9,4 is read as 9.4.
A working demo of the Smash Challenge screen, not production code. It exists so the behaviour, the states and the timing are unambiguous. Two views share one live state: the stadium screen renders it, the operator device changes it.
Type, colour and layout come from the Padelplay distributors site — light ground with the swish artwork, the lockup in a lime identity band, dark-green ink, hairline borders and tabular numerals. Kern Extended sets the numbers and display lines; FK Grotesk Light sets everything else. Please build against those tokens rather than re-deriving a look.
The operator types privately and pushes on the announcer's cue. Live-typing to a stadium screen shows every keystroke and every correction to thousands of people, so entry and reveal stay separate.
{
phase: "start" | "roster" | "scoring" | "results",
players: [{ id, name, scores: number[] }], // max 4, scores max 4
activeId: string | null, // who is on court
reveal: { playerId, value, isBest, seq }, // drives the reveal
seq: number, // increments per push
rev: number // increments per operator action
}
The display animates a reveal only when seq increases while it is already open, so a
screen connecting late renders the current state without replaying an old score. The operator
ignores any snapshot whose rev is older than its own, so a delayed echo cannot undo a
newer action. Snapshots arrive frozen — clone before mutating.
The stadium view is authored at a fixed 1920×1080 and scaled to the output, so it is
identical on any projector or LED wall and never reflows. The brand fonts and the swish artwork are
embedded, so nothing depends on the venue's network.