Over the summer break, I downloaded datasets from the WHO OPEN Data platform and worked on data visualisation. With the Aiffelton project coming up shortly with my team, I wanted to use this time to gradually update my data analysis portfolio. This project was an excellent opportunity to put the skills I’ve been developing into practice and assess how far I’ve come – I now feel I can move through these steps with far greater ease.
Reflecting on the past five months, I can see just how much I’ve learnt. There’s nothing quite like sitting down every day – even if you have to push yourself – and steadily making progress. Both at university and at Modulabs, there was a clear reason we were encouraged to stretch our knowledge boundaries, even to the point of overexertion.
My journey as an analyst is still only beginning. These days it’s relatively straightforward to produce code with LLMs and deploy prototypes in Streamlit, but I’ve learnt that decoding and retyping LLM-generated code is essential – without that process, your skills simply don’t grow. Ultimately, it’s still up to humans to apply critical judgement and deliver meaningful analysis.
Before diving into the analysis, I reviewed the dataset through the lens of WHO’s recently emphasised flagship programmes and funding frameworks – UHC (Universal Health Coverage), HPOP (Health Emergencies Protection), and HEP (Health Emergencies Preparedness) – and explored correlations between key variables. This contextual knowledge was invaluable in interpreting the policy implications embedded in the data.
Key steps included:
Condensing data from over 200 countries into six regions made patterns much clearer and the visualisations far cleaner, allowing complex data to be communicated far more intuitively.
The Streamlit app went through three key development stages. In the initial V1, I implemented only the basics – simple pie and line charts, along with a basic filtering function applied to the entire time period.
In V2, I focused on improving the user experience, adding error handling to make the application more stable and user-friendly.