Live Polling Software for an Event

Live Polling Software for an Event

Some time ago, I had the opportunity to develop experimental live polling software for an event. Approximately 300 participants took part in the event and used the software, which presented exciting technical challenges and learning opportunities.

Features and Challenges

  • Multiple answer options: Participants were presented with different answer options on their smartphones, from which they could choose.
  • Frontend and result display: A frontend displayed the poll results as charts. One person could also control the preset questions and coordinate the polling process.
  • Last-minute domain change: An unexpected problem arose when the venue’s Wi-Fi blocked certain domains. We therefore had to change the domain shortly before the event began, requiring a flexible and rapid adjustment.
  • Backend with a fanout pattern: The backend used a fanout pattern, distributing updates through a Pub/Sub channel in a Redis Sentinel cluster to all backend replicas. This ensured that all parts of the system remained synchronized.
  • WebSocket connection: Clients were connected via WebSocket and received notifications when changes occurred (approximately once per second), enabling smooth, near-real-time communication of the results.
  • High number of replicas: The high number of replicas proved extremely beneficial because different browser implementations caused a bug in the backends. Thanks to the replicas, these bugs remained unnoticed by users and did not affect their experience.

Technical Implementation and Conclusion

Implementing this live polling software was an exciting project that brought both technical and organizational challenges. This project not only strengthened my development and debugging skills, but also showed how important it is to respond flexibly to unexpected problems.

More technical insights

Read more practical project insights on the blog.