Functional
- Host runs live quiz; players join with code.
- Synchronous question + answer windows.
- Leaderboard + final results.
- Async (homework) mode optional.
Non-functional
- < 200 ms WS echo.
- Up to 100k participants per room (top platforms).
- 99.9% uptime.
Trade-offs
- Server-authoritative timing prevents cheats; client UI shows estimated remaining.
- Per-room owner simplifies; failover via snapshot.
- Async mode = different architecture (no real-time gating).
Refs
- Kahoot, Mentimeter, Slido engineering posts.
- ByteByteGo "Design quiz / poll system".