1.2 KiB
1.2 KiB
Buzzer
Real-time buzzer system for Jeopardy, Quiz Bowl, and anything else that needs a fair, fast buzzer. Self-hosted, zero frontend dependencies.
Written entirely by Claude (Anthropic).
Requirements
- Bun v1.0+
Usage
bun install
bun --hot run src/server.ts
Open http://localhost:3000. Create a room to host, or enter a room code to join.
How It Works
One moderator per room controls the buzzer, timer, and teams. Players join via a six-character code and buzz in by clicking or pressing Space. The moderator sees the full buzz order with millisecond deltas. Everything is configurable live, mid-game.
Teams are auto-named using the Greek alphabet and can scale from 2 to 64.
Moderator identity is verified server-side by a secret generated at room creation — players cannot escalate privileges.
Structure
src/
├── server.ts # HTTP + WebSocket server
├── rooms.ts # State, types, broadcast helpers
├── ws-handler.ts # Message routing
└── public/
├── index.html
├── styles.css
└── script.js