Players join a room to answer the same questions and see the leaderboard update during the game. Conference mode adds a video call alongside the quiz.
The application uses Next.js and React for the interface, Socket.io for game updates, and WebRTC through SimplePeer for video.
PeerPlay Quiz · Project screenshot
Two kinds of real-time traffic
Quiz state and video take separate paths. Socket.io carries room and game events; WebRTC carries the video connection. Keeping those responsibilities separate lets the quiz run with or without a call.
Shared game state
Room codes identify a session. The timer and scores are shared across the players in that room, so the interface needs to respond to updates from other participants as well as local input.