Skip to content

Glossary

Core vocabulary used across Timers Studio: room, rundown, Studio, Player, Moderator, Gateway, Agenda, controller, timer state, and the other terms you will meet in the docs.

Last updated

Glossary

This page collects the terms you will meet across the Timers Studio documentation. Most of them map one-to-one to a route, a component or a column in the Supabase schema, so the same word means the same thing in the product and in the docs.

Core concepts

Room A Timers Studio event. A room owns a rundown, a theme, a moderator password, and a set of public URLs. Identified by a short slug that appears in every URL (/id/<room>, /player/<room>, etc.).

Rundown The ordered list of timers inside a room. The Studio shows it on the middle column, the Moderator view reads it, the Agenda renders it to the audience, the Player ticks one item at a time.

Timer A single row in the rundown. A timer carries a title, an optional subtitle and speaker, a duration and a mode (DURATION, FINISH_TIME, TIME_OF_DAY, COUNT_UP).

Controller The Supabase row that represents a room on the server side (controllers table). UUID, studio_slug, player_slug, admin language, timer state. Every realtime channel keys off this UUID.

The four modules

Studio/id/<room> The director’s console. Edits the rundown, drives the Player, owns the show. Requires sign-in.

Player/player/<room> The stage-facing screen. A single full-screen countdown with optional overlays. Public, no login.

Moderator/moderator/<room> The backstage workspace for a second operator (host, floor manager). Customisable widget grid, intercom chat, live counts. Password-protected per room.

Agenda/agenda/<room> The audience-facing schedule. Read-only, three display modes (LIST, FOCUS, CURRENT_NEXT). No login.

Gateway/ask/<room> + embedded in Studio Two faces of the same module. The /ask/<room> route is the spectator form where attendees send questions or vote. Inside the Studio, the operator workspace tab exposes LiveMonitor, StageConfigurator, Raffle and Polls.

Timer states and modes

TimerState One of STOPPED, RUNNING, PAUSED. Every Player in the room reflects this within 100 ms of the change.

DURATION Countdown from a length (for example 10:00 for ten minutes).

FINISH_TIME Countdown to a wall-clock target (for example 14:30 local).

TIME_OF_DAY Live clock showing the current local time instead of a countdown.

COUNT_UP Stopwatch starting at 00:00.

Tweak A live adjustment of the running timer (+1m, +30s, -30s, -1m). Emitted by the Studio, received by the Player in real time.

Routes and URLs

RouteWho it is forAuth
/id/<room>Director, operatorSign-in
/player/<room>Stage, OBS, livestreamPublic
/moderator/<room>Host, backstagePassword
/agenda/<room>Audience, lobbyPublic
/ask/<room>Spectators (Gateway)Public

Supabase tables you will meet

controllers — the room itself (UUID, slugs, timer state, admin language).

spectators — people who opened /ask/<room> for a given room (first/last name, optional seat, browser fingerprint).

spatial_questions — questions submitted by spectators (status: pending, approved, answered, rejected, sentiment, optional seat vector).

polls — live polls created from the Moderator view (status: draft, active, closed).

poll_votes — one row per spectator vote. One vote per fingerprint per poll.

Display and theme

Theme Colour tokens, typography, glass effect, background. Applied to Player and Agenda. Edited from the Studio customiser.

Display mode (Agenda) One of LIST, FOCUS, CURRENT_NEXT. Changed by the operator, reflected on the audience side without reload.

Safe area Viewport inset applied on the Player to avoid overscan on TVs. Default, 90%, 80%, off.

Real-time

Channel A Supabase realtime channel keyed on a controller UUID. Every Studio, Player, Moderator, Agenda and Gateway page in the same room subscribes to the same channel.

Latency envelope Target delay between an action in the Studio and its visible effect on the Player. Timers Studio aims for ≤ 100 ms end to end.