Gaze of the WorldVisual trends in news about nations
The impetus behind Gaze of the World was to glean information about world events by analyzing which countries were being covered by news websites - to see "where the world is looking". If coverage of Italy doubles in a single day something probably happened there, and this principle would allow me to learn about major events across the globe without spending the entire day reading newspapers
The aim of this project was to learn how to extract meaning from data, while also improving my knowledge of Laravel. I never planned for it to grow except in database size, so scale wasn't a consideration, and ultimately the default LEMP stack was chosen as it closely matched what I used at work, offering a great opportunity for full-stack practice.
What did I actually learn?
Source diversity is paramount
Despite trying to avoid a western-centric perspective by scraping for news in a number of lingua francas, due to my higher familiarity with european languages the overall amount of sources was still skewed towards the anglosphere, resulting in much higher coverage and thus overall visibility. You cannot fight bias without investing a lot of effort into ensuring the diversity of your sources.
Data is fragile
Coverage was very low for some countries, sometimes even close to 0. As I was compiling a "top 10" of countries by the % difference in coverage from the daily average, those with low averages were extremely volatile, which in turn often hid when something of import was happening while highlighting something irrelevant in a country with more significant coverage. Bad inputs taint conclusions, even if those conclusions are made in good faith.
Data has stories to tell
Before I decided to pull the plug on the project, I remember how struck I was by the cadence of news during Trump's US presidency, by the ebb and flow of weekly, monthly, and seasonal news, and by how criminally underrepresented some countries were in coverage. Coincidences certainly happen, but an incredible amount of meaning can be found in a dataset analyzed with a critical mind; you can see humanity's shadow in the smallest set of data (but you shouldn't let that notion make you see correlations where there are none 😉)