Analysing COVID-19 Flights in Australia with Python.

As you all may have been aware over the past few months, the COVID-19 Coronavirus outbreak started spreading all over the world and into Australia. I’ve been tracking the Australian cases as it started to slowly climb the exponential curve, with most of the cases being imported (and still is) and now central way of keeping track of it. I decided to build a tool which captures this data source from various government websites.

The entire script is automated with Python, and runs every two hours. So the script automatically crawls through various Department of Health websites across the various states (cause this is reported by the states not the Federal Government) and collects certain data points, for example: the Airline, Flight Number, Origin, Destination and Close Contact Rows, Arrival Date.

Then the symptom onset date is calculated by adding 2 weeks onto the arrival date, this is the standard as defined by both the World Health Organisation (WHO) and the Australian Federal Department of Health.

After the data is collated and wrangled with a simple GitHub Action script, it commits it to the Frontend/Backend Repository to be served over Google App Engine. One of the more complex tasks is finding all the edge cases of how to parse the dates, airline – cause this is all manually updated by humans (Humans, smh. Am i right?) and is really error prone.

One of the things I love to do especially is making information more readable and organise it in a way so that people can read it and access it via one single location or source of truth.

You can try the app at

Vic COVID-19 Analysis

Victoria COVID-19 Cases Summary: Thurs 2nd April 2020

This is independant/unverified analysis of the COVID-19 situation in Victoria, Australia – please take it with a grain of salt. All data is collected through the Media Reports provided by the Department of Health and Human Services in Victoria.

As of today, 2nd April 2020:

2-Apr-20201-Apr-2020NumPer (%)
New Cases6851+17+33.33%
Total Cases1036968+68+7.02%
Regional Victoria193183+10+5.46%
Community Transmission (CT)5739+18+46.15%
Current Status
In ICU66+0+0.00%
Total Deaths54+1+25.00%
Total Recovered422343+79+23.03%
Tests Completed2,0002,000+0+0.00%
Total Tested49,00047,000+2,000+4.26%
% Of Victoria Population Tested 20.78%0.75%0.03%+4.26%
CFR (n=7)0.96%0.86%0.10%+12.02%
% of Cases Recovered (n=7)81.15%73.61%7.55%+10.26%
New Cases per Test3.4%2.6%0.85%+33.33%
New CT Cases per Test0.9%0.4%0.55%+157.14%
New CT Cases / New Cases26.47%13.73%12.75%+92.86%
  • There is 1 new death in Victoria (a women in her 70’s died in hospital).

Sadly due to the new death, the CFR is up a bit today, however is still showing a downwards trend. 1

Post image

This is mainly cause by a increase of the amount of people recovered in hospital, currently 81% of cases has recovered (n=7).1

Post image

Most positive news, there’s a slight bend of what is happening with our total cases.

Post image

If we look at the proportion of new cases that are community cases, that has increased to 26%

Post image

The proportion of new CT cases per new Tests being completed is currently 0.9%.

There are currently 609 active cases, down from 621 yesterday and 622 the day before!!!

Post image


  • 1 – n=7 means that number of total cases are from 7 days ago.
  • 2 – Est. Victorian Population: 6,244,227 (2016 census).
  • Another death has occurred in Victoria in the afternoon of April 2nd, this will be included in the numbers for April 3rd.


Note: I might change my analysis on ratio based on tests, cause there is currently a 1-2 day delay on tests results, in addition to a 1-2 delay on contact tracing too.

Vic COVID-19 Analysis

Victoria COVID-19 Cases Summary: Wed 1st April 2020

This is independant/unverified analysis of the COVID-19 situation in Victoria, Australia – please take it with a grain of salt. All data is collected through the Media Reports provided by the Department of Health and Human Services in Victoria.

As of today, 1st April 2020:

TodayYesterdayChange Change (%)
New Cases5196-45-46.88%
Total Cases968917*+51 **+5.56% *
Melbourne771728*+43 **+5.91% *
Regional Victoria183173*+10 **+5.78% *
Male526501*+25 **+4.99% *
Female438413*+25 **+6.05% *
Community Transmission (CT)3932*+7 **+21.88% *
Current Status
Hospitalisation3229*+3 **+10.34% *
In ICU64*+2 **+50.00% *
Total Deaths44*+0 **+0.00% *
Total Recovered343291*+52 **+17.87% *
Total Tested47,00045,000*+2,000 **+4.44% *
% of Vic Pop Tested0.75%0.72%
CFR (n=7)0.86%0.97%-0.11%-11.80%
Mortality Rate0.41%0.44%-0.02%-5.27%
New Cases / New Tests Ratio2.55%3.20%-0.65%-20.31%
CT Growth / Tests Growth4.923.23169.11%*+52.34% *

There is some good news! CFR (where n=7), has slowly decreased over past couple of days

Post image

The amount of people who has recovered is also increasing!!!

Post image

On a more sombre note, community transmission and other cases are still increasing.

Post image

If we look at the ratio between new Transmission cases vs New Cases, this has slowly risen over the past week.

Post image

You can find the analysis Spreadsheet here (updated Daily once Vic DHHS data available) :

n=7 means that number of cases are from 7 days ago.

Est. Victorian Population: 6,244,227 (2016 census).


Vic COVID-19 Analysis

Victoria COVID-19 Cases Summary: Tues 31st March 2020

As of today, 31st March 2020:

New Cases+96+56+58.3%lower is better
Total Cases917821+11.69%lower is better
Melbourne728653+75 (+12%)lower is better
Regional Victoria173146+27 (+18%)lower is better
Community Transmission3226+6 (+23%)lower is better
Hospitalisation29290 (+0%)lower is better
In ICU440 (+0%)lower is better
Total Deaths440 (+0%)lower is better
CFR (n=7)10.973%1.127%lower is better
Deathes/Total Cases0.436%0.487%lower is better
Total Recovered29124843 (+17.33%)higher is better
Total Recovered (% of cases)31.7%30.2%higher is better
Total Tested45,00042,000+3,000 (+7.1%(higher is better
Total Vic Population Tested 20.67%higher is better

There are now 4 cases in pre-school aged children with:

  • 3 cases in children aged under one year and
  • a one-year-old

You can find the analysis Spreadsheet here (updated Daily once Vic DHHS data available) :

1 Based on cases from 7 days ago.

2 Est. Victorian Population: 6,244,227 (2016 census).



Talking to strangers

Today, while browsing through Reddit I came upon a post where the user was talking about how he was talking to his Lyft driver. This reminded me of a conversation that I had with my taxi driver last year.

This happened last year on the way back from Sydney. I had just left the Google office where I was visiting for both work and catching up with a friend at Google.

I still remember the conversation that I had with my driver, it was my first time visiting Sydney since 12 years ago. And we got stuck in a traffic jam, RIP to those Sydney traffic jams!And we were talking about transport infrastructure around Melbourne and Sydney.

We also talked about IT in general, my driver turns out to be an immigrant from a country in Asia that I can’t remember and turns out his children also works within the IT industry. And we ended up talking about the ethics of working within the IT industry, which ended up being really interesting.

So the next time, in you get into a car whether its or a taxi, Lyft, Uber or other ride-sharing app, do talk to your driver, who knows they might be really interesting.

I also remembered a few other stories of talking to strangers that turned out to be interesting! Which I might leave for another time.


Introducing Muhnee

Today I am really excited to announce that Nikhil Ramesh are launching something that we have been working on recently over the past couple of months – Muhnee.

Muhnee is a really simple and exciting way to help you manage your money. A lot of money management and budgeting apps are complex, requiring you to create ‘savings accounts’ , and are not really mobile friendly.

The goal of Muhnee is to:

To simplify the accounting and consolidation of financial matters through the analysis of past and present transactions and the establishment of future transactional patterns for the everyday, average customer

Muhnee Mission Statement

We wanted to make a simple and easy to use app where the mobile (and other IoT devices) allows you to track your expenses and income on the go.

Whilst the more advanced web platform helps you analyze and allow you to report off your expenses.

In addition, Muhnee will help you manage your stocks portfolio (which will come in later iterations). And for the short-term traders out there, Muhnee will tell you your returns based off your trades – profit, losses and even capital gains.

Image result for stonks
Stonks, cause why not.

FYI, Muhnee is still in its early days of its development, we just wanted it to get it off the ground before our lives got more hectic (especially mine). So please do provide us feedback and try it out today!

Development Tech

Supercharging your development environment on Visual Studio Code

Like many developers out there, Visual Studio Code (VSCode) is now my go to editor for almost everything (with the exception for Android Studio (for Android) and IntelliJ IDEA (for Java)). I really like customising my VSCode, so that it is easier for me to develop on.


There’s a lot of shortcuts that I use on a day to day basis within VSCode, the ones that I use the most include:

Shortcut (macOS)Description
⌘ (Command) + P Quick Find
⌘ (Command) + Shift + P Command Palette
^ (Control) + `Open Terminal
⌥ (Option) + Shift + (Up or Down arrow)Duplicate current line up or down
⌥ (Option) + (Up or Down)Move current line up or down

There’s a lot more shortcut keys that I use, but those are the most common ones. The VSCode team also has some awesome key binding posters that you can print out and stick near your desk (I used to print these out with macOS on one side and Windows on the other and stick it around the office).

User Settings

There’s some neat settings that I always loved being enabled within my VSCode User Settings (globally).

The first one is Format on Save, with this enabled VSCode automatically formats the file you are working on, it picks up ESLint, TSLint and Prettier configs which is pretty neat.

The second one is the Terminal Font Family, if you customised ZSH like me, the default terminal sometimes doesn’t know what font to render your icons in your terminal in and you’ll end up with question marks in boxes.

The last one is Enable Commit Signing, this automatically uses the -S for your commits, (use this if you use GPG signing for your git commits!) and integrates nicely with VSCode’s inbuilt Git feature.


I always loved the customisability of VSCode with the community building many beautiful plugins (and language support!).

Excluding language based plugins such as C/C++, Dart, Python, etc. I usually add themes, formatters, and other tools that I use.

Development Based

These plugins help me with my day-to-day use.

GitLensGitLens gives you the ability to see the history of the file, in addition to files. Also can use git blame more easily too! 🙈
PolacodeShare your code by sending awesome screenshots!

Themes that I love using include Halcyon and One Dark Pro

There’s a lot more tips and tricks that I use for my VSCode, but they’re not really for everyone.

Thanks for reading this!


Making your terminal more awesome

I use my terminal 90-100% of the time whenever I’m on my MacBook Pro and like many other developers I really like customising my terminal so that it helps me with my workflow.

I started using ZSH before Apple released it as the default shell in macOS Catalina, alongside with iTerm2. This combination was mainly done with Oh-My-ZSH and iTerm2. Recently I discovered PowerLevel10k which basically does the same thing as powerlevel9k but waaaaaaayyyy faster.

So here’s a guide on how to set it up

Step 1. Installing oh-my-zsh and iTerm2.

This step is fairly straight forward simply following the instructions at Oh-my-Zsh and you can install it, or you can just copy the install script below (installs via curl)

sh -c "$(curl -fsSL"

iTerm2 is more straightforward, simply visit the website and just drag-n-drop it into your applications folder.

Now you can install powerlevel10k, simply visit the site:

Now follow the prompts and you should have a new and awesome tool!

Careers Review

2019 in Review

And that’s it! We’re now at the end of 2019 which also means it’s the end of the decade too. These past 10 years have gone by in a flash, at the start of the decade I started high school, now at the end of it I finished my degree at Monash University. So here’s a look back across 2019.

A Look back on 2019 – a year of achievement

I know that in my review from last year I talked about how fast it has gone by, this year felt more fast paced then ever before. But this year, after coming back from a long well-deserved holiday, I felt that I have achieved more than ever.

Releasing MonPlan

Towards the end of last year, we released MonPlan as the university’s official enterprise course planning software. At the start of this year, we integrated into the enrolment processes for VTAC round offers – this was the first test of MonPlan with over 7000 users using our sites within the first few minutes of the offers going out. We also rolled out to South Africa and Malaysia in the later part of the year.

Towards May/June 2019, I made a tough decision to hand over a lot of the maintenance and development of MonPlan to the rest of the team, as I was beginning to field offers from external companies. I made this decision as it made me knowing full well that MonPlan was in good hands when I left.


Something that really surprised me was that I was announced as a finalist of the itNews Benchmark awards – the awards night was hosted at KPMG Barangaroo in Sydney. Surprisingly I took the award jointly with the other finalist Fiona Sparks of Victoria’s Department of Health and Human Services (DHHS).


Leaving Monash

In November 2019, I said goodbye to Monash eSolutions as I had taken up an offer with Google, where I will be starting as a Test Engineer mid-February next year. You can read more about my reflection of my time at eSolutions here. The interviews were pretty hectic, overall I did 5 interviews (1 initial phone call and 4 ‘on-site’ interviews), with a lot of practice on LeetCode (at least 3-4 problems per day, for 3 weeks up to the interviews).

A few weeks ago, I also wrapped up my degree at Monash. Which means I am graduating next May (let me know if you want to come) !


Something that I am always passionate about is giving back to the community.


At the start of this I was elected Graduate Representative of WIRED. Some of the major events that I organised included TechFest and Bit By Bit Hackathon.

These events were really enjoyed by the students, hopefully will continue over the coming years.

Overall, this year has been the fastest and most hectic its ever been, with the end of the decade coming up, I feel like I have accomplished a lot this year. And hope that next year is even better.

A big thanks to my friends and family for being there for me for the past couple of years, and I know that moving away from Melbourne is going to be sad but I will always come back and visit. You know who you are.

Let me if you want to catch up before I head off!

Careers MonPlan

Farewell Monash eSolutions (and Monash)

To be honest, I don’t really like saying goodbyes and usually hope I can just disappear quietly. Yet, at the same time I realise that I have to do this otherwise I’ll probably regret it in a couple of months. So I’m writing this to reflect my time at Monash and what I have learnt along this journey.

In case you didn’t know, I’ve decided to take an offer with Google as a Test Engineer in Taiwan, and will begin next January.

The original MonPlan Team (December 2017) – from left to right: Saurabh Joshi, Josh Nelsson-Smith and Eric Jiang (me)

I started back at Monash back in December 2016 to work on the first alpha of MonPlan (wow, that was a long time ago) after I first received an email from one of the directors asking about interest in building MonPlan with eSolutions. This was when I was transferring courses, and that there was no way to talk to course advisors, so my plan was to use a Google Sheet to plan out the rest of my course. Having worked on MARIE.js the prior semester, I had the idea of making it a web application. After having talk to many of my friends, Josh Nelsson-Smith and I decided to start working on it. That following day we did a post on social media asking if other students was interested in using an app like it. Surprisingly, we got some really postitive feedback. For those who don’t know, MonPlan is currently the official Monash University Course Planning Tool for students, by students.

Back then, like many other students I thought eSolutions was just a couple of ‘old dudes’ sitting in a cupboard working on some old servers and the second thought that crossed my mind was that the email was potentially fake. Yet Josh Nelsson-Smith and I decided to seize on the opportunity to deliver MonPlan.

And it was over the course of the 2 or 3 years that we worked on the development of MonPlan and FutureYou and working with different portfolios across the university to deliver both products. We hit major milestones along the way, we developed and built the concept of a product which helped connect your inspirations and what you’ve enjoyed to careers, and careers to courses, this was then pitched to several directors at central marketing (SMC). We then hit Beta with MonPlan in Feburary 2018.

MonPlan and FutureYou teams, MonPlan Beta Release (February 2018)

Lesson 1: Never give up.

Sometime along the way, I couldn’t see when MonPlan was going to be released, and was thinking about leaving the project. But then after talking to a few of my friends, I remembered why I started this project in the first place and that was to make every student’s lives easier. And so I picked myself back up and soldiered on.

Not many people know this, but back in late-2017 – MonPlan was competing with a vendor-built product, and that the project almost got shut down because of this. Over the course of a few months, and putting MonPlan through beta release and proving that both the faculty and students love our product, made us got chosen as the University’s official course planning tool.

Lesson 2: Look after yourself

Something really important is that your mental health is really important. Being a hard worker I didn’t take any holidays, I was studying 4 units in addition to ~20 hours a week at work and during the holidays I was working full time, and this continued on for around 2 years and one day in 2018 I had a mental breakdown/panic attack. That is when I decided to take a holiday the following semester break, (it turned out to be 7 weeks, and I went to both Japan and China!!!), and I came back fresh and felt like I was ready to kick some amazing goals the following year. So yeah, have a healthy and balanced life-style is really important too!

I also picked up a new hobby which is photography, so outside of work hours I spending less time coding (and working 😅), instead I spend quite a bit of time editing and taking photos.

Lesson 3: Believing in yourself

Always believe in yourself, this is connected to the ties first and second lesson(s) really well. This has actually happened to me many times throughout my time here at Monash.

The first time, was right after MonPlan’s Beta release in February 2019, I didn’t know if we were going to make it. Especially as we were competing with a vendor-product. But the design philosophies of user-centered design (putting the student first) in addition to the hard work of everyone in our team allowed us to be chosen as the University’s official enterprise course planning tool.

Even when applying at Google, I just didn’t know I will get the offer. Even when I did get the offer I was shocked, I was still like ‘how did I even get this?’. But almost all my friends was not surprised I got the offer.

Lesson 4: Organise yourself.

Something that I was forced to learn was that I hard to organise my day, so in order to that, I synced up my personal, uni calendars under my work calendar. In addition I created a Custom Calendar to that I add classes into my calendar too (inviting both my staff and student accounts), also adjusting my out-of-work hours in my calendar settings too.

Every morning, either when I get into uni or work, the first thing I do is look at my calendar – working out my daily meetings, classes, and planning out the work I was going to do for that day. The meetings I accept are typically placed a minimum of 3 days ahead, otherwise I’ll just reject it, this allows me to keep my calendar neat and tidy in addition to allow me to take control of my time back.

MonPlan had a startup feel to it, we had to continuously iterate through many versions (as part of the University’s SAFe practices), in addition to hiring other students who had the same vision as us. We hired based on cultural fit in addition to technical skills, those who had better technical skills weren’t necessarily a better fit to the team.

And in October 2018, we officially released MonPlan as the official enterprise student course planning software to the entire university – the road to this release was long and not entirely smooth, a big thanks to everyone who was part of MonPlan and FutureYou, as well as to the managers, business partners, and everyone who helped us deliver MonPlan.

To all the Monash staff, students, friends, family and especially the Monash Community that I have interacted over my time at Monash, from the depth of my heart, I want to say thank you for all the joys, experience, lunches and snack-runs and just literally being there for me for the past 3 years. It’s been amazing and I really really really enjoyed contributing to the University life, and would love to come back in the future.

That’s all from me, once again thank you!

P.S. Do let me know if you are around and willing to grab a coffee (or bubble tea) – my emails and social DMs are always open.

Note: I’m in the ‘done’ column here on our Kanban wall… see?