Scalable Real-time Voting App

API • Widget Toolkit • Ux • Ui • Big Data • Analytics

The Challenge

There can be very few work experiences more demanding than managing the live voting process on a global hit show such as Idols, The Voice or Big Brother. Your systems (and your nerves) are tested under the bright glare of millions of passionate fans who are each deeply invested in the result. The fans need to trust that their vote has been counted and that the process was 'free and fair'.

There is no room for error, and Swipe iX has developed robust methods of managing this process.

Taking On The Job

Our partnership began with a new content management system. DSTV was very happy with the way that the CMS from Swipe iX had simplified the management of their content channel sites. They realised that the security and resilience of their voting systems were all important, so they presented us with the challenge of building a new, world-class voting system that could handle massive data & traffic spikes.

Not long after Swipe iX took over the voting portfolio for DSTV, the television producers noticed that interest and traffic were significantly higher if the results were announced on the night of the broadcast. The process that once took three days was compressed into three hours, and the pressure increased exponentially!

The volume of raw data which is received during a vote is staggering. For example, the 17th season of South African Idols received over 100 million votes during the course of the season, including 30 million votes in the final week alone.

Handling that kind of data in such a short space of time is the ultimate stress test for any system. In order to deliver 100% reliability, Swipe iX decided that it had to build the entire voting system from scratch in order to understand every single component of the system.

The key to success is rigorous testing. There can be no surprises. We have learned (through some nail-biting experiences) that you need to know the limits of your system, and you need to test them exhaustively. We never introduce new features that are not part of the testing process. If we introduce something new, the rigorous testing process starts all over again. Then once the system is in place, we lock it down and quarantine it until it’s time to use it again.

There are three core processes are at the heart of our voting system:

Build on Solid Foundations

The formidable AWS platform serves as a foundation for all our voting and monitoring operations. The base needs the ability to scale horizontally and vertically depending on the situation. All of our EC2 servers are placed in an auto-scaling group and more machines can be added quickly. Using Amazon RDS makes it easy to set up, operate, and scale a relational database in the cloud, and our platform is closely monitored by CloudWatch. During the voting process, staff are always on-site and monitoring the situation closely as it plays out.

Manage the Stack

Occasionally the need will arise to build, change and version infrastructure. It is very important that you have a Multi-AZ architecture so that if your primary zone fails, you can seamlessly failover to a different zone without any interruptions to your service availability

Visibility & Monitoring

It's vital that you know how your stack is performing in real-time so that you can scale appropriately. Alerts that inform you of abnormal activity, customized dashboard and ongoing notifications apply a layer of safety and security which are vital in a real-time situation.

Back-end code is monitored via New Relic APM which traces end-to-end transactions, provides code-level visibility, flags key transactions and delivers customizable service maps.

With so much activity taking place on browser-side applications, it's important to monitor application issues, visualize page loads and external APIs, and track JavaScript errors.

The Result

Swipe iX has developed a formidable system that can handle enormous volumes of traffic within an extremely short amount of time. The way that it’s been designed means that it can be applied to any other voting situation via embed codes that can be deployed to any web page.

We have learned how to manage raw data, how to work closely with auditors to produce verified results and how to function under extreme pressure. Through our fruitful ongoing partnership with DSTV, swipe has become a global leader in the art of managing multi-platform voting systems.

475,099,623

^ Votes Processed

1,550,888

^ Unique Users

100

%

^ Uptime

33,738

^ Max Votes per Second







View Next Project

EMMET

Website • Ux • Ui • Content Management • Social Engagement