This project showcases my approach to designing and developing robust, production-ready distributed systems through the lens of a real-time, Kahoot-style quiz platform. It was created as part of a system design and coding challenge during my interview process with ELSA.

In this project, I take you through not only the implementation of the central real-time quiz flow, but the end-to-end system design process, including:

  • Mapping user journeys and anticipating edge/error cases,
  • Justifying architectural decisions and technology selections,
  • Detailing data flow, scalability considerations, and observability approaches.

The technologies that I used are: React.js, Golang, Socket.IO over WebSocket, Kafka, Temporal.io, and Redis.

If you’re interested in how I approach problems such as:

  • Real-time user collaboration at scale,
  • System resilience and exception handling,
  • Balancing performance with reliability and maintainability,
  • Making technology choices,
  • Designing for observability and operations-readiness from day one,

then this project provides a detailed case study-from architecture diagrams and component breakdowns to hands-on implementation and operational strategies.

For a deep-dive walkthrough, check out: