Newsweb
A desktop app that keeps pulling in world news and maps any story by its ideas, the players behind it, and where it happens on a globe.

- Type
- Software
- Year
- 2026
- Built
- 26 to 28 October 2026, four versions
- My part
- The idea, the choice of news sources, and the design decision behind each version
- Built with
- Claude Code (AI coding assistant)
- Tools
- Node.js, SQLite full-text search, Electron, d3, MapLibre GL, a language model through OpenRouter
- Sources
- 14 news outlets’ feeds, Google News, GDELT, IMF PortWatch
The problem
When a big story breaks, news sites give you the latest event. They don’t show how it connects: who is involved, what each side wants, which claims depend on which, and where on the map it’s all happening. I wanted to ask about a story and see all of that at once, with sources.
How it works
While it’s open, Newsweb pulls 14 outlets’ feeds, Google News and the GDELT news database every 15 minutes into a local SQLite database with full-text search, kept for 45 days. When you ask about a story, it finds the matching articles, and a language model reads them and returns five to eight ideas that explain the story. Each idea has its reasoning, the players and places involved, and the articles that back it, and the ideas are linked by how they bear on each other: one drives another, undercuts it, or depends on it.
The players and places go on a globe, over layers such as shipping lanes, ports and chokepoints, and Ukraine’s front line.
Four versions in three days
Each version came from something I didn’t like in the one before.
- Version 1 showed the sources up front, and the webs got cluttered. I changed it to show the ideas first, with sources as footnotes.
- Version 2 put the story on a globe, with short captions at the places themselves, a 3D close-up of any site, and live ships and aircraft.
- Version 3: the map itself was still too busy, so each place became one stop, and the story grows outward from where it started, one ring at a time.
- Version 4 added separate World and In the US tabs.
Cost
Asking about a story calls a paid model, so I measured it. Mapping “Russian oil” across five angles cost 38 cents and placed 23 places and 32 links. A review of all four versions found that about half of each bill was the model’s hidden reasoning, which is the next thing to cut.
What I learned
Free data sources limit how often you can ask. GDELT and Wikimedia both block bursts of requests, so the app now spaces its requests out and backs off when it’s refused, and keeps working from its other feeds in the meantime.