2026
Product thinking
Vibe coding
Data visualisation
Have you ever questioned whether you should place your trust in the overarching narrative laid out by algorithmic news feeds? Here is an interactive data visualisation showing how much of each country’s news coverage goes to eight global topics, refreshed nightly from news in 65 languages. I designed and specified it, then directed Claude Code to build it: work that would normally take a small team.
It maps where stories are published, not where events happen, and it never shows a number more confidently than the data allows. A country with too few articles to measure fairly is withheld, and the page says why. A missing reading is never shown as zero, and every figure carries its own date.
| Country | Share | Articles | Sentiment | Reading from |
|---|
A written requirements document was the spec and the source of truth: what’s true now, which rules may never break, and why. Work moved in phases, and none began or concluded without my sign-off. The first phase wrote no production code. It tested GDELT, the public news index behind the app, against its own documentation, and found plenty of gaps to force me to reshape the design multiple times. I eventually had the core pipeline walked through line by line until I could explain it myself, and I remain the only one who manually deploys to production after reviewing code and doing final end-to-end testing passes for any new change.
So the default view shows the smaller, but nevertheless fascinating, claim that passed the same test for robustness: which countries move in step, with no direction implied. Even the animation grows each link from both ends at once to reinforce this view, so it never reads as flow.
Stack: Hugo, Python, GitHub Actions, Supabase (Postgres), D3.js on canvas, Netlify.
A browser-based, interactive virtual space as an experimental, story-driven funnel for multimedia consumption. Currently in concept stage.