<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Side Projects - Jake Coppinger</title>
	<atom:link href="https://jakecoppinger.com/tag/side-projects/feed/" rel="self" type="application/rss+xml" />
	<link>https://jakecoppinger.com</link>
	<description>Jake Coppinger&#039;s blog and portfolio.</description>
	<lastBuildDate>Fri, 05 Jul 2024 07:59:45 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>

<image>
	<url>https://jakecoppinger.com/wp-content/uploads/2024/07/cropped-closeup-headshot-jake-coppinger-2024-32x32.jpg</url>
	<title>Side Projects - Jake Coppinger</title>
	<link>https://jakecoppinger.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How I helped ~6,000 Australians find a vaccine appointment</title>
		<link>https://jakecoppinger.com/2022/02/how-i-helped-6000-australians-find-a-vaccine-appointment/</link>
					<comments>https://jakecoppinger.com/2022/02/how-i-helped-6000-australians-find-a-vaccine-appointment/#respond</comments>
		
		<dc:creator><![CDATA[Jake C]]></dc:creator>
		<pubDate>Mon, 21 Feb 2022 03:21:00 +0000</pubDate>
				<category><![CDATA[Side project]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Side Projects]]></category>
		<guid isPermaLink="false">https://testing205399271.wordpress.com/?p=40</guid>

					<description><![CDATA[<p>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.</p>
<p>To help Australia increase it's vaccination rate ASAP I built GPVaccineSearch.com over a few weekends in July/August, an open-source vaccine appointment search engine, as a side project.</p>
<p>The post <a href="https://jakecoppinger.com/2022/02/how-i-helped-6000-australians-find-a-vaccine-appointment/">How I helped ~6,000 Australians find a vaccine appointment</a> first appeared on <a href="https://jakecoppinger.com">Jake Coppinger</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><em>Note: I have now shut down GP Vaccine Search as vaccines are readily available.</em></p>



<p>In mid 2021 Australia had an acute vaccine shortage for various reasons, which meant vaccine appointments were extremely hard to come by &#8211; NSW had just declared a national emergency.</p>



<p>To help Australia increase it&#8217;s vaccination rate ASAP I built <a rel="noreferrer noopener" href="https://gpvaccinesearch.com" target="_blank">GPVaccineSearch.com</a> over a few weekends in July/August, an open-source (<a rel="noreferrer noopener" href="https://github.com/jakecoppinger/gp-vaccine-search" target="_blank">on Github</a>) vaccine appointment search engine, as a side project.</p>



<span id="more-40"></span>



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



<figure class="wp-block-gallery alignfull has-nested-images columns-default wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1649" height="2560" data-id="45" src="http://13.236.128.105/wp-content/uploads/2022/07/7-scaled.jpg" alt="" class="wp-image-45" srcset="https://jakecoppinger.com/wp-content/uploads/2022/07/7-scaled.jpg 1649w, https://jakecoppinger.com/wp-content/uploads/2022/07/7-193x300.jpg 193w, https://jakecoppinger.com/wp-content/uploads/2022/07/7-659x1024.jpg 659w, https://jakecoppinger.com/wp-content/uploads/2022/07/7-768x1193.jpg 768w, https://jakecoppinger.com/wp-content/uploads/2022/07/7-989x1536.jpg 989w, https://jakecoppinger.com/wp-content/uploads/2022/07/7-1319x2048.jpg 1319w" sizes="(max-width: 1649px) 100vw, 1649px" /></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="2244" height="2560" data-id="44" src="http://13.236.128.105/wp-content/uploads/2022/07/8-scaled.jpg" alt="" class="wp-image-44" srcset="https://jakecoppinger.com/wp-content/uploads/2022/07/8-scaled.jpg 2244w, https://jakecoppinger.com/wp-content/uploads/2022/07/8-263x300.jpg 263w, https://jakecoppinger.com/wp-content/uploads/2022/07/8-898x1024.jpg 898w, https://jakecoppinger.com/wp-content/uploads/2022/07/8-768x876.jpg 768w, https://jakecoppinger.com/wp-content/uploads/2022/07/8-1347x1536.jpg 1347w, https://jakecoppinger.com/wp-content/uploads/2022/07/8-1795x2048.jpg 1795w" sizes="(max-width: 2244px) 100vw, 2244px" /></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="2279" height="3000" data-id="43" src="http://13.236.128.105/wp-content/uploads/2022/07/image-1.png" alt="" class="wp-image-43" srcset="https://jakecoppinger.com/wp-content/uploads/2022/07/image-1.png 2279w, https://jakecoppinger.com/wp-content/uploads/2022/07/image-1-228x300.png 228w, https://jakecoppinger.com/wp-content/uploads/2022/07/image-1-778x1024.png 778w, https://jakecoppinger.com/wp-content/uploads/2022/07/image-1-768x1011.png 768w, https://jakecoppinger.com/wp-content/uploads/2022/07/image-1-1167x1536.png 1167w, https://jakecoppinger.com/wp-content/uploads/2022/07/image-1-1556x2048.png 1556w" sizes="(max-width: 2279px) 100vw, 2279px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="3000" height="1820" data-id="41" src="http://13.236.128.105/wp-content/uploads/2022/07/image.png" alt="" class="wp-image-41" srcset="https://jakecoppinger.com/wp-content/uploads/2022/07/image.png 3000w, https://jakecoppinger.com/wp-content/uploads/2022/07/image-300x182.png 300w, https://jakecoppinger.com/wp-content/uploads/2022/07/image-1024x621.png 1024w, https://jakecoppinger.com/wp-content/uploads/2022/07/image-768x466.png 768w, https://jakecoppinger.com/wp-content/uploads/2022/07/image-1536x932.png 1536w, https://jakecoppinger.com/wp-content/uploads/2022/07/image-2048x1242.png 2048w" sizes="auto, (max-width: 3000px) 100vw, 3000px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="2560" height="1927" data-id="46" src="http://13.236.128.105/wp-content/uploads/2022/07/6-scaled.jpg" alt="" class="wp-image-46" srcset="https://jakecoppinger.com/wp-content/uploads/2022/07/6-scaled.jpg 2560w, https://jakecoppinger.com/wp-content/uploads/2022/07/6-300x226.jpg 300w, https://jakecoppinger.com/wp-content/uploads/2022/07/6-1024x771.jpg 1024w, https://jakecoppinger.com/wp-content/uploads/2022/07/6-768x578.jpg 768w, https://jakecoppinger.com/wp-content/uploads/2022/07/6-1536x1156.jpg 1536w, https://jakecoppinger.com/wp-content/uploads/2022/07/6-2048x1541.jpg 2048w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="2560" height="1364" data-id="48" src="http://13.236.128.105/wp-content/uploads/2022/07/3-scaled.jpg" alt="" class="wp-image-48" srcset="https://jakecoppinger.com/wp-content/uploads/2022/07/3-scaled.jpg 2560w, https://jakecoppinger.com/wp-content/uploads/2022/07/3-300x160.jpg 300w, https://jakecoppinger.com/wp-content/uploads/2022/07/3-1024x546.jpg 1024w, https://jakecoppinger.com/wp-content/uploads/2022/07/3-768x409.jpg 768w, https://jakecoppinger.com/wp-content/uploads/2022/07/3-1536x819.jpg 1536w, https://jakecoppinger.com/wp-content/uploads/2022/07/3-2048x1092.jpg 2048w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1945" height="2560" data-id="49" src="http://13.236.128.105/wp-content/uploads/2022/07/2-scaled.jpg" alt="" class="wp-image-49" srcset="https://jakecoppinger.com/wp-content/uploads/2022/07/2-scaled.jpg 1945w, https://jakecoppinger.com/wp-content/uploads/2022/07/2-228x300.jpg 228w, https://jakecoppinger.com/wp-content/uploads/2022/07/2-778x1024.jpg 778w, https://jakecoppinger.com/wp-content/uploads/2022/07/2-768x1011.jpg 768w, https://jakecoppinger.com/wp-content/uploads/2022/07/2-1167x1536.jpg 1167w, https://jakecoppinger.com/wp-content/uploads/2022/07/2-1556x2048.jpg 1556w" sizes="auto, (max-width: 1945px) 100vw, 1945px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="371" data-id="1177" src="https://jakecoppinger.com/wp-content/uploads/2022/02/image-20220120-025557-1024x371.png" alt="" class="wp-image-1177" srcset="https://jakecoppinger.com/wp-content/uploads/2022/02/image-20220120-025557-1024x371.png 1024w, https://jakecoppinger.com/wp-content/uploads/2022/02/image-20220120-025557-300x109.png 300w, https://jakecoppinger.com/wp-content/uploads/2022/02/image-20220120-025557-768x279.png 768w, https://jakecoppinger.com/wp-content/uploads/2022/02/image-20220120-025557-1536x557.png 1536w, https://jakecoppinger.com/wp-content/uploads/2022/02/image-20220120-025557.png 1880w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</figure>



<p></p>



<p>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!</p>



<figure class="wp-block-image alignwide size-large"><img loading="lazy" decoding="async" width="894" height="1024" src="https://jakecoppinger.com/wp-content/uploads/2022/07/image-2-894x1024.png" alt="Screenshot of GP Vaccine Search" class="wp-image-51" srcset="https://jakecoppinger.com/wp-content/uploads/2022/07/image-2-894x1024.png 894w, https://jakecoppinger.com/wp-content/uploads/2022/07/image-2-262x300.png 262w, https://jakecoppinger.com/wp-content/uploads/2022/07/image-2-768x880.png 768w, https://jakecoppinger.com/wp-content/uploads/2022/07/image-2-1340x1536.png 1340w, https://jakecoppinger.com/wp-content/uploads/2022/07/image-2-1787x2048.png 1787w" sizes="auto, (max-width: 894px) 100vw, 894px" /><figcaption class="wp-element-caption">I promise it looks good on mobile too!</figcaption></figure>



<p>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.</p>



<p>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&#8217;s hard to emphasize how in demand vaccines were at the time &#8211; I had friends asking me via social media to run queries for their location!</p>



<figure class="wp-block-gallery alignwide has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="719" height="1024" data-id="53" src="https://jakecoppinger.com/wp-content/uploads/2022/07/11-719x1024.jpg" alt="" class="wp-image-53" srcset="https://jakecoppinger.com/wp-content/uploads/2022/07/11-719x1024.jpg 719w, https://jakecoppinger.com/wp-content/uploads/2022/07/11-211x300.jpg 211w, https://jakecoppinger.com/wp-content/uploads/2022/07/11-768x1094.jpg 768w, https://jakecoppinger.com/wp-content/uploads/2022/07/11-1078x1536.jpg 1078w, https://jakecoppinger.com/wp-content/uploads/2022/07/11-1438x2048.jpg 1438w, https://jakecoppinger.com/wp-content/uploads/2022/07/11-scaled.jpg 1797w" sizes="auto, (max-width: 719px) 100vw, 719px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="742" height="1024" data-id="54" src="https://jakecoppinger.com/wp-content/uploads/2022/07/10-742x1024.jpg" alt="" class="wp-image-54" srcset="https://jakecoppinger.com/wp-content/uploads/2022/07/10-742x1024.jpg 742w, https://jakecoppinger.com/wp-content/uploads/2022/07/10-217x300.jpg 217w, https://jakecoppinger.com/wp-content/uploads/2022/07/10-768x1060.jpg 768w, https://jakecoppinger.com/wp-content/uploads/2022/07/10-1113x1536.jpg 1113w, https://jakecoppinger.com/wp-content/uploads/2022/07/10-1483x2048.jpg 1483w, https://jakecoppinger.com/wp-content/uploads/2022/07/10-scaled.jpg 1854w" sizes="auto, (max-width: 742px) 100vw, 742px" /></figure>
</figure>



<p>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.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="3000" height="1323" src="https://testing205399271.files.wordpress.com/2022/07/image-3.png?w=1024" alt="" class="wp-image-56" srcset="https://jakecoppinger.com/wp-content/uploads/2022/07/image-3.png 3000w, https://jakecoppinger.com/wp-content/uploads/2022/07/image-3-300x132.png 300w, https://jakecoppinger.com/wp-content/uploads/2022/07/image-3-1024x452.png 1024w, https://jakecoppinger.com/wp-content/uploads/2022/07/image-3-768x339.png 768w, https://jakecoppinger.com/wp-content/uploads/2022/07/image-3-1536x677.png 1536w, https://jakecoppinger.com/wp-content/uploads/2022/07/image-3-2048x903.png 2048w" sizes="auto, (max-width: 3000px) 100vw, 3000px" /></figure>



<p>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.</p>



<p>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 &#8211; they also emphasised how committed they are to helping Australians access vaccines.</p>



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



<h3 class="wp-block-heading">All up</h3>



<p>Overall this was one of my favourite side projects I&#8217;ve built &#8211; 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!</p>



<p>I think it&#8217;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 &#8211; they&#8217;ve built a truly brilliant product.</p>



<p>Ken Tsang (the author of COVID-19 Near Me) also wrote up an article about his vaccine booking search engine titled <a target="_blank" href="https://jxeeno.medium.com/why-i-decided-to-build-my-own-vaccine-booking-search-engine-instead-of-using-the-governments-one-c932ca72fb3d" rel="noreferrer noopener">&#8220;Why I decided to build my own vaccine booking search engine instead of using the Government’s one&#8221;</a>.</p>



<p>Currently, a side project I&#8217;m working on is Gatho (<a target="_blank" href="https://gatho.party" rel="noreferrer noopener">gatho.party</a>), a platform for hosting small events. It supports one click RSVP links for guests, and can integrate with a Matrix group chat. It&#8217;s open source and works great, let me know what you think!</p>



<p>Some more graphs of gpvaccinesearch.com, because everybody loves graphs!</p>



<figure class="wp-block-gallery has-nested-images columns-1 is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="332" data-id="1180" src="https://jakecoppinger.com/wp-content/uploads/2024/07/image-20220120-025631-1024x332.png" alt="" class="wp-image-1180" srcset="https://jakecoppinger.com/wp-content/uploads/2024/07/image-20220120-025631-1024x332.png 1024w, https://jakecoppinger.com/wp-content/uploads/2024/07/image-20220120-025631-300x97.png 300w, https://jakecoppinger.com/wp-content/uploads/2024/07/image-20220120-025631-768x249.png 768w, https://jakecoppinger.com/wp-content/uploads/2024/07/image-20220120-025631-1536x498.png 1536w, https://jakecoppinger.com/wp-content/uploads/2024/07/image-20220120-025631-2048x664.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="507" data-id="1181" src="https://jakecoppinger.com/wp-content/uploads/2022/02/image-20220120-025547-1024x507.png" alt="" class="wp-image-1181" srcset="https://jakecoppinger.com/wp-content/uploads/2022/02/image-20220120-025547-1024x507.png 1024w, https://jakecoppinger.com/wp-content/uploads/2022/02/image-20220120-025547-300x149.png 300w, https://jakecoppinger.com/wp-content/uploads/2022/02/image-20220120-025547-768x380.png 768w, https://jakecoppinger.com/wp-content/uploads/2022/02/image-20220120-025547-1536x760.png 1536w, https://jakecoppinger.com/wp-content/uploads/2022/02/image-20220120-025547.png 1842w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</figure><p>The post <a href="https://jakecoppinger.com/2022/02/how-i-helped-6000-australians-find-a-vaccine-appointment/">How I helped ~6,000 Australians find a vaccine appointment</a> first appeared on <a href="https://jakecoppinger.com">Jake Coppinger</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://jakecoppinger.com/2022/02/how-i-helped-6000-australians-find-a-vaccine-appointment/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
