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: