Core Features
Every feature built for a professional live trivia experience, from dual-screen hosting to post-game analytics.
Dual-Screen Hosting
Full-screen broadcast view for your audience on a TV or projector, with a separate host dashboard on your laptop. All synchronized in real time via Socket.IO.
The broadcast view shows the game board, clues, answers, scores, timer, and championship reveals — everything your audience needs to see. The host dashboard gives you complete control: select clues, manage scoring, control the timer, and orchestrate the game flow without ever touching the broadcast display.
- Separate views for broadcast, host, scoring helper, and board helper
- All views sync in real time with zero configuration
- Broadcast view includes visual effects (category reveals, timer bar, answer badges)
- Host dashboard has controls for buzzer, scoring, and game flow
Scriptable Setup
Configure everything from CLI flags: board size, values, players, labels, CSV import, media assets, and more. Refresh content without re-running the wizard.
The setup wizard guides you through creating a full game configuration. For power users, everything is accessible via command-line flags for repeatable, scriptable setups. Perfect for running regular trivia nights with the same configuration.
- Interactive CLI wizard with step-by-step prompts
- All options available as command-line flags
- Google Sheets and CSV import for clue data
- Supports both simple and grid spreadsheet formats
- URL normalization handles edit links automatically
Custom Media Assets
Intro video/music, background tracks, bonus clue images, applause, times-up, and 10+ configurable sounds. All audio is config-gated so unconfigured assets silently no-op.
Make your trivia night feel like a real TV show with intro videos, background music that ducks during gameplay, and sound effects for correct answers, applause, and time pressure. Every audio asset is optional and gracefully degrades when not configured.
- Intro video with crossfade to game board
- Background music with automatic ducking during gameplay
- 10+ configurable sound effects (correct, applause, timer, etc.)
- Bonus clue images with full-screen reveal animation
- Audio system uses HTML elements (no Web Audio API for effects)
Smart Timer System
Timer starts on DONE READING, pauses on INCORRECT for other players to buzz. Keyboard shortcuts for BUZZ/UNBUZZ. Token-guarded to prevent stale callbacks.
The timer is the heart of the game flow. It starts when the host finishes reading a clue, pauses when a player is judged incorrect (giving others a chance to buzz in), and is fully controllable via keyboard shortcuts. The token-based system ensures no stale timeouts can fire after the timer has been reset.
- Timer starts on DONE READING (not on clue select)
- Pauses automatically when INCORRECT is judged
- BUZZ/UNBUZZ keyboard shortcuts (B/Space and U)
- Token-based callback system prevents stale timer events
- Fixed bottom bar visible across all game phases
Bonus & Championship
Daily Double bonus clues with image cover-flip and wager screen. Championship final with step-by-step name/show-answer/wager reveal and direct host scoring.
Bonus clues add excitement with full-screen image reveals and wagering. The championship final round takes the drama further with a three-step reveal per player: show their name, ask them to hold up their answer, then reveal their wager amount.
- Daily Double bonus clues with image cover-flip animation
- Wager submission screen with text input (accepts formatted numbers)
- Championship round: 3-step reveal (name, show-answer, wager)
- Host-judged scoring with CORRECT/INCORRECT buttons
- Score automatically adjusts with wager amounts
Post-Game Analytics
Detailed per-player and per-game charts with Chart.js. Correct/incorrect streaks, category breakdowns, value distribution, and printable reports.
After the game ends, dive into the numbers. See which categories were hardest, which players dominated, and how scores evolved over time. The analytics page is built with Chart.js and offers both overview and detailed per-player views.
- Per-player correct/incorrect streaks and percentages
- Category difficulty breakdowns
- Score distribution across game phases
- Printable game reports
- Real-time stats update during gameplay
Sheets & CSV Import
Paste a published Google Sheets URL or local CSV path. Supports both simple and grid formats. URL normalization handles edit links automatically.
Don't type your clues by hand — import them from Google Sheets or CSV files. The system supports two formats: simple (category, value, clue, answer) and grid (columns are categories, rows are values). Google Sheets URLs are normalized from edit links to publish links automatically.
- Google Sheets integration (paste the share URL)
- CSV file import with automatic format detection
- Supports simple and grid spreadsheet layouts
- URL normalization (edit → publish links)
- Validates data during import with clear error messages
Practice Mode
Cycle all clues from Rounds 1, 2, and Final with back/next navigation, Show/Hide Answer toggle, and keyboard shortcuts for solo review.
Perfect for studying or testing your setup. The practice mode at /practice lets you browse through all clues in your game data, toggle answers on and off, and navigate with keyboard shortcuts (arrow keys, space, 1/2/3 for round selection).
- Browse all clues from Rounds 1, 2, and Final
- Back/Next navigation with keyboard shortcuts (left/right arrows)
- Show/Hide Answer toggle (Space key)
- Round selection (1/2/3 keys)
- Ideal for reviewing content before a live game
What You Get
| Feature | Trivia Board | Basic Alternatives |
|---|---|---|
| Dual-screen real-time sync | Yes | Rarely |
| Custom media assets | 10+ configurable | None or limited |
| Smart timer system | Token-guarded, pause/resume | Basic countdown |
| Bonus / championship rounds | Includes both | Often missing |
| Post-game analytics | Chart.js dashboards | None |
| CLI & CSV import | Wizard + flags + sheets | Manual entry |
| Practice mode | Built-in | Rarely |
| Open source | GNU GPL v3 | Often proprietary |