How we scaled from 1000 online exams a day to 100,000 a day

ramkrishnapk
3 min readNov 7, 2020

Covid-19

Our company (www.weshinetech.in) builds software for universities. Our flagship product UniApps (www.uniapps.in) is an examination ERP for universities. Covid-19 brought many challenges to a lot of businesses and we’re no exception. This is how we faced the challenges thrown at us by Covid-19.

Anticipation

After a nationwide lockdown was announced in March 2020 right in the middle of university exam season, we knew we had to adapt and move quickly. Online Examination System (OES) is one of the apps in our UniApps product suite. We anticipated that students would be forced to appear for online exams from remote locations if the Covid-19 situation continued for long. To assist in remote proctoring we integrated face recognition APIs and Zoom meetings into our system. We were ready by the first week of April 2020 and some private universities started using our system.

Scaling Sales

Most sales during lockdown happened over video calls. This was a great advantage for us as it saved us a lot of time and money. There was about ten fold increase in our sales efforts. We started generating leads from all parts of the country. We sensed that everyone was eager to conduct exams online as they realised Covid-19 wasn’t going away any soon.

The Surge

The real surge in exams came with the Honourable Supreme Court’s order on final year university exams. Degrees could not be issued without conducting exams. Suddenly we had to conduct millions of exams within a month for several universities all at the same time. We had to adapt and move quickly again. Within a month we had to conduct double the number of exams we had conducted in the last 10 years!

Scaling Operations

We hired around 200 temporary staff within a month, we set up chat support for lakhs of students that would appear for exams and conducted mock tests for them. We hired more people in the content team to manage question banks, student lists and get the exam ready on our system. We had to upgrade operations workflow on the system so that hundreds of team members could collaborate doing various tasks involved in setting up a test.

Scaling Technology

We use Erlang/OTP for our backend which is known to support massive concurrency. But a single server was just out of question if we had to conduct 100K exams a day. The first step was to make our application stateless and launch as many nodes as required behind a load balancer. We also enabled cluster mode for our database and joined more nodes depending on the load on the DB cluster.

Peak

When we crossed a thousand requests per second it was a surreal feeling. One could feel every bit of effort each one of the team members had put in to get there. The system had scaled and we were ready to handle more, a lot more.

With this exam season coming to an end and things going back to normal, we feel confident about the choices we’ve made not just this past year but over the last ten years. We’ve a long way ahead of us but we’re doing things right.

Final thoughts

Anticipate, reach out, adapt, work hard, and be lucky :)

--

--