Jake Coppinger / Blog / How I helped ~6,000 Australians find a vaccine appointment

Last updated: Feb 21st, 2022

In mid 2021 Australia had an acute vaccine shortage for various reasons, which meant vaccine appointments were extremely hard to come by - NSW had just declared a national emergency.

To help Australia increase it's vaccination rate ASAP I built GPVaccineSearch.com over a few weekends in July/August, an open-source (on Github) vaccine appointment search engine, as a side project.

As of Jan 2022, 23k users visited the site, and 5,809 unique users started a HotDoc vaccine booking after using my site!

Reddit feedback
“big shot lawyer people”

After the shortage eased in October 2021 and the government booking website improved traffic dropped off, but here is the story of how I built it!

I promise it looks good on mobile too! See gpvaccinesearch.com

Wanting to help Aussies get vaccinated as soon as possible, I searched for every possible data source (and considered crowd-sourcing phone call responses). I found that HotDoc (a Melbourne healthcare booking company) had lots of data on available bookings but had not yet built a way to search across clinics for the soonest appointments.

Always keen for a side project I managed to deploy a headless Chromium instance to AWS Lambda to walk through GPs near the user and find appointment times, and soon had a working demo. As you can imagine, I was concerned about the load this would add to the HotDoc site and resources to run it so I added strong rate limiting, but it's hard to emphasize how in demand vaccines were at the time - I had friends asking me via social media to run queries for their location!

After posting on Reddit and sharing with a few friends, almost 2800 people visited on the first day. The most requested feature was searching by postcode rather than geo-location: once I implemented that I found most users preferred using that option. The Pfizer vaccine also became available via GPs which further added to the surge of visitors.

I got in contact with a friend of a friend working at HotDoc so I could make sure they were comfortable with myself using their data and API.

They were happy with the project and agreed my rate limiting threshold was well chosen, and submitted a PR so they could track referrals. Altogether the experience of communicating with HotDoc was excellent - they also emphasised how committed they are to helping Australians access vaccines.

After vaccines became more widely available visitors dropped off, though a smaller second wave visited when I added booster search support.

All up

Overall this was one of my favourite side projects I've built - it was a lot of fun to try and throw my hat in the ring to make this problem a bit easier to solve. It really meant a lot to me that I managed to help a few people in the process. Thanks for reading!

I think it's important to acknowledge the number of people who used gpvaccinesearch.com pales in comparison to how many people found their vaccines using HotDoc itself - they've built a truly brilliant product.

Ken Tsang (the author of COVID-19 Near Me) also wrote up an article about his vaccine booking search engine titled "Why I decided to build my own vaccine booking search engine instead of using the Government’s one".

Currently, a side project I'm working on is Gatho (gatho.party), a platform for hosting small events. It supports one click RSVP links for guests, and can integrate with a Matrix group chat. It's open source and works great, let me know what you think!

Some more graphs of gpvaccinesearch.com, because everybody loves graphs!

Add a comment!

This comment section is actually a Matrix group chat, powered by Cactus Comments. Get notified of replies by joining the chat!

Get an email notification for my next blog post

(I'll set up RSS one day :)

  • I will not use your email for any other purpose
  • Each email will have an "Unsubscribe" link
  • They will be infrequent, brief, and plaintext
  • They will be sent from MailChimp to stay out of your spam folder
  • No clickbait!

Cheers!