DEV Community

Aniket Kadam
Aniket Kadam

Posted on

How to Raise Hell with a Vaccine Booking System

If you don't know about Cowin consider yourself lucky. It's the national vaccine slot booking website created by India.
The population of Mumbai was 12.5 million at last count. It currently vaccinates approximately 58,000 people per day, down from a high of approximately 64,000 a few weeks ago. At this rate it'd take over half a year to vaccinate everyone with a single shot. More than a year to cover both shots.

Here's how Cowin works.

You can only login with an OTP send to your mobile number. This registration lasts for 15 minutes until you are logged out.
You then register upto 4 people on 1 mobile number and choose to schedule them to get vaccinated. You are presented with a list of vaccination centers.

Here's the thing though, the page on which you desperately search for open slots, doesn't check if you're authenticated. You can easily go past the 15 minute timer and be logged out but it won't tell you until you actually go to schedule a shot from a rare open slot. The time it wastes to get another OTP guarantees you'll never see that slot again.

Many people were concerned that people in tech were using bots to book slots, which they were. Now here's how to raise hell. Your system has a problem with bots.

Because your government only gave near-monopoly profits to two companies manufacturing vaccines and then delayed ordering new vaccines by a month.

Here are a whole bunch of usability absolute nightmares that are wasting the time of every Indian playing this cursed game every night while desperately trying to save their lives in the pandemic.

Double Scrolling to See the List of Slots

There is also a double scrolling bar. One which scrolls the entire page of useless graphics and another much smaller window within which the vaccination slots scroll.
Which means the size of the window dedicated to showing the slots is not much taller than the size dedicated to showing a picture of our prime minister.

Do I as a user care about the graphics on the page limiting how many vaccination centres I can see? Absolutely not. This means I have to first move my mouse within the smaller scrolling section and then scroll. Adding anxiety.

Alt Text

The 18-45 Filter

You need to filter by 18+ or there are too many centres. Each time you click 'Search' to look for vaccines you need to select 18+ again because the selection is cleared.
Which means along with clicking on the search button every few seconds, you again have to click on the 18+ button.

Do I as a user want my choice reset and strain my hands constantly? Why in the hell would I?

Fun fact: The API call still retrieves information for all slots. The filtering is done client side.

Time Slots

If you do see a rare centre with open slots, each centre has 4 time slots available. You need to play an elaborate guessing game to guess which slot might be free.

Do I as a consumer care right now whether my slot is in the morning or evening? I don't give a damn. Eliminate the illusion of choice by removing this option entirely and just allocate whatever. It will save server time and user anxiety.

Give us ONE option for the centre and none for the time. I promise you almost no one cares what time in the day they can save their lives.

The Errors

While the government tries very hard to pretend like the site never crashes, basically every single person who has made it down to the time slots and clicked confirm has encountered Error code 500, which means there's a bug on the server side. An exception related to bad coding that means 75% of people who are quick enough to get to slots and attempt to book, get thrown out because of the error anyway.

The technical person in charge has decided this should be a silent error and just not tell people anything. The only thing that happens is that the confirm button becomes available to be pressed again.


They added captchas to chowkidar (guard) the site. But the most important thing in product development is "What are your users trying to do?"
Do they want the luxury of picking a time slot? Selecting over and over that they're above 18 every few seconds? Do they want to keep a watch on the time to make sure it hasn't been 15 minutes because they're auto-logged out? Do they want to play this cursed game every night?

A user-hostile, very Indian way of solving this problem is "strict-action", "captchas" punishment and attacks.

It overloads the servers at a specific time everyday and sends the country into panic attacks over times and notifications and reds and greens.


Something where every person registered is put into a queue, with a mild preferences as to where and when which can be analysed at leisure and people sent SMS' about when their slot might be, and the day that it is will avoid this national disgrace.

To do this however, we have to abandon something truly Indian. The concept of "strict action" and move towards smarter solutions that work for the people who need them.

Top comments (0)