Back to Projects

Real-Time Multiplayer Quiz Platform

Full-stack Kahoot-style platform with live game state synchronisation

TypeScriptNode.jsREST APIsWebSockets

Demo coming soon

Overview

A full-stack real-time quiz platform replicating Kahoot's core features — hosts create and launch quiz sessions, players join via session codes, and answers are scored live with a leaderboard updated in real time. The system handles concurrent sessions with isolated game state per room.

Architecture

The backend is built with Node.js and TypeScript, exposing REST endpoints for session management and WebSockets for real-time game events. Game state is maintained in memory per session, with events broadcast to all connected players. The frontend consumes the API and renders live updates reactively.

Key Challenges

  • Managing concurrent game sessions with isolated state
  • Ensuring real-time synchronisation is consistent across all connected players
  • Handling player disconnects and reconnects gracefully mid-game
  • Designing a clean event protocol for host and player roles

What I Learned

  • WebSocket event-driven architecture and real-time state management
  • How to structure a TypeScript Node.js backend for maintainability
  • Session management patterns for multiplayer applications
  • Testing real-time systems with simulated concurrent users

Future Improvements

  • Add persistent quiz creation and history
  • Implement OAuth login for hosts
  • Add analytics dashboard for quiz performance
  • Support image and code-snippet question types