2026
Product thinking
Vibe coding
Data visualisation
Have you ever questioned your social media algorithm’s bias? I certainly have, and I wanted to gain factual knowledge of the degree to which certain, global topics are weighted, both in their overall share and tone of sentiment, by mainstream media. This was the core idea behind starting development for this data visualisation app centred on worldwide attention.
| Country | Share | Articles | Sentiment | Reading from |
|---|
Given the unpredictable, public API and lack of documentation, architecture was required to be built with a priority on robustness and light weight to avoid dependencies or negative impacts on load for the rest of this portfolio. A retrying CI/CD cron job pipeline queries GDELT on a rate-limited queue and writes any new raw observations into my postgres DB hosted via Supabase, where data smoothing happens and co-movements are calculated. Over time, the DB will collect a window of data bigger than the one GDELT retains, which will allow for advanced trend analysis capabilities in the future. A separate export script reads that database and emits static, sanitised JSON files to my CDN. No secrets are ever used in the browser, no live database connections are established; nothing can break under load. The D3.js client fetches the pre-structured files per topic and easily computes all five views for any given theme locally with minimal resources.
A product newspaper based on my agentic research system for product management trends and industry news. Currently in development. Coming soon.