7696b6005b1b21139d2608526af604952506adfa
- Raised base HTML font size from 18px to 22px - Increased header logo from 22px to 32px - Enhanced all text labels from 13-15px to 16-17px for readability - Made timer display larger (72px to 84px for players, 56px to 52px for mod) - Increased room codes from 34-44px to 42-52px - Made tab navigation labels larger (14px to 17px) - Updated all panel titles and section labels - Enlarged player names from 16px to 18px - Increased buzz status and hints from 14-16px to 16-18px - Made modal text and toast notifications more readable - Adjusted responsive breakpoints for mobile devices - All interactive elements (toggles, buttons) preserved unchanged
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
Languages
JavaScript
39.3%
CSS
32%
HTML
15.7%
TypeScript
13%