In just 10 days, I designed and launched Singapore’s Covid-19 vaccination system.

Despite our team starting late, we became the first country in Asia to implement its vaccination campaign, fully vaccinating 92% of the population in 3 months.

I designed a web system for patients to conveniently book vaccine appointments at their nearest clinics, and an admin interface for healthcare staff to manage patients and record vaccinations.

It took an average of 10 to 15 minutes to book an appointment, and we received lots of compliments on how smooth the process was!

How we did it so quickly?

Weekends, public holidays, overnighters. Tight cross-functional collaboration, and ruthless prioritisation. We pushed features that were absolutely critical, then continuously refined it over 6 months.

We were a lean team of 9

2 designers, 2 product managers, 5 engineers. Low communication overheads. Quick and efficient decision-making, full autonomy. In this page (and in this site in totality), you’ll find only the work that I personally did.

Objectives

  • Authentication, to reserve doses for priority groups

  • Screen medical eligibility and flag health conditions

  • Maintain records of each person’s vaccination status

  • Remind people of their appointments

  • Ensure the 14-day vaccination window between vaccinations

  • Fill clinics efficiently, nudge people to clinics with more slots

Goals

  • Simple, intuitive, and usable for everyone

  • Booking or changing appointments are a breeze

  • Easy for staff to use, no tech training required

It’s 2020, the pandemic has just begun.

Want the vaccine?

An invitation arrives

You’ve gotten it because you opted in for the vaccine. You click the unique booking link sent by SMS.

The landing page

You scroll down and see the health advisory. It explains the conditions where you shouldn’t be taking it, and it recommends two doses, 14 days apart.

For authentication, your enter your national id (NRIC/FIN). It’s tagged to your assigned booking code, pre-filled from the link.

A short medical screener

9 questions, you fill it in. These aren’t pre-filled, you have to actively answer them carefully.

Your responses indicate your eligibility.

Select your clinic

It’s at your convenience. A postal code, or a neighbourhood. You see nearby clinics with the most slots first.

Select the dates and times

Book both appointments, so you won’t have them too close or too far apart. Doses are limited. This way, you get to secure your full course.

That’s it, you’re booked in!

Add your two appointments to your calendar, or reschedule them, if you must.

Admin interface to manage patients

This was designed to facilitate vaccinations at the clinics. Clinics could see how many people would arrive and who they were, record medical information, and update vaccination statuses. More details available upon request.

Read on for my design process.

The process

We had 3 days to develop the first prototype. I started with wireframes the day we formed the team. Engineers used this to begin building the interface and backend while I continued refining the UI and content.

The problem statement was clear, there wasn’t much need for discovery research. Rather, the priority was to verify what medical screener questions were needed, and that the forms were quick and easy to fill.

I referenced these hardcopy medical forms and simplified them to create an improved version of the questionnaire.

Hardcopy forms for our reference, showing the data fields we should include.

The original forms weren’t the easiest to understand, so I decided to rewrite them before checking in with the medical experts.

I removed questions that wouldn’t impact the decision to vaccinate,
(e.g. residential status, ethnic group and gender)

Combined questions that covered the same thing,
(e.g. age, date of birth)

I also restructured some questions that were unnecessarily complicated.

(e.g. anaphylaxis = severe allergies, just ask it once)

We conducted multiple rounds of research and refinements at hospitals, clinics, and vaccination centres. We did this cross-functionally, split into two squads with one designer each, taking different locations. This was vital so we could make decisions quickly across design, product and engineering without excessive consultation or debate.

Research areas covered:

  1. Health requirements and vaccination regulations
    Guerrilla tested our prototypes with doctors, nurses, and admin staff

  2. Usability and user acceptance testing
    Mostly with elderly users, as they’re the least savvy

  3. Operational processes and implementation
    Observed existing systems and processes, and ran controlled pilots onsite to ensure smooth implementation

Fixes that were easily implementable were done within a day or two.