How we work
Disclosed so you can judge how much trust a display deserves.
What WorldWatchers is – and what it is not
WorldWatchers collects reports from 110 news feeds and official monitoring networks, assigns them to places, groups reports about the same event and shows how well an event is corroborated. We do not write news ourselves and we do not check whether a report is true. We show who reports what, how many independent newsrooms do so and whether measurements fit.
Sources
- 110 RSS/Atom feeds from newsrooms in all world regions, 7 of them state-run and labelled as such.
- We do not fetch sites whose robots.txt forbids automated access. Reuters and AP block direct access and therefore come via Google News.
- For each report we store only the headline, a short teaser and the link, for at most 7 days. We do not read the full text.
- Gap fillers: for countries without own reports we search Google News hourly. These hits are marked white and never merged with anything.
- Bluesky: 34 accounts of newsrooms and organisations, only those whose name is their own domain (e.g. reuters.com). Separate layer, not counted as corroboration.
- Videos: 23 news channels on YouTube. Videos are matched to events but do not count as corroboration.
- Monitoring networks: USGS and EMSC (earthquakes), GDACS (disaster alerts), NASA EONET and FIRMS (natural events, fires), WHO, German Foreign Office, Meteoalarm and US National Weather Service (severe weather), MET Norway (weather), NASA GIBS (satellite imagery, precipitation).
How we determine the location
From place and country names in the headline and teaser, matched against the GeoNames gazetteer in many languages – including inflected forms in Slavic languages (“u Srbiji”, “в Украине”). Rules catch personal names such as “Paris Hilton” or “Jhoan Andrés Montenegro”. If that does not help, we use the section in the link (e.g. /colombia/). Every event shows which word the location came from and how certain it is (certain / likely / uncertain). Limits: reports without place names stay unmapped; if several places are named we pick one.
How we group reports into events
- Same wording: similar headlines in the same country within 12 hours.
- Shared names and numbers across languages (e.g. “Dnipro”, “14”). Very common names such as heads of state do not count.
- Meaning comparison: a multilingual language model on our own server turns each headline into a meaning vector. Events in the same country with very similar meaning (similarity ≥ 0.80) are merged – so “train crash in Spain” in Spanish, English, German and Serbian ends up in one event. No text leaves our servers for this.
Corroboration: “independent sources”
We count how many different newsrooms with different wording report. If five sites carry the same wire story verbatim, that counts as one source. Green = at least 3 independent, yellow = 2, orange = 1 (“not yet confirmed by other newsrooms”). Bluesky posts, videos and gap fillers do not count. High corroboration means: many report it. It does not automatically mean: it is true.
Cross-check with measurements
If someone reports an earthquake, a fire or a storm, we automatically check whether a monitoring network measured something fitting at the same time and place – only for matching types (an earthquake does not support an explosion report). Then “🛰 measurements fit” appears. This is an indication, not proof: a satellite fire detection can also be a field fire.
Where we use AI – and where we do not
- Translation on click: headlines and teasers, via OpenRouter to a model by Mistral AI (France, run in the EU). No data about you.
- Meaning comparison for grouping: locally on our own server.
- Not: we do not let AI summarise, rate or invent news. Event types for symbols and animations are detected by keywords, not by AI.
Animations and symbols
💥🚀✴🔥🌊🌀〰 only appear for real reports of that type from the last 6 hours. The short animation only plays when such a report has just arrived. There is no decorative looping.
What we do not do
No tracking, no cookies, no advertising, no paid placement. We count visits ourselves, only as anonymous daily totals.
Errors and corrections
We make mistakes – automatic detection all the more. What we found and fixed is listed here. Found an error? Write to kontakt@creatormediax.de.
- 30/10/2026 – Live list: reports that reached us more than 20 minutes after publication (about 28 %) dropped down immediately. The list now sorts by arrival and also shows the publication time.
- 30/10/2026 – Location: a truncated teaser (“Netanya…” from “Netanyahu”) was read as the city of Netanya. Teasers are now cut at word boundaries.
- 30/10/2026 – Location: the surname “Montenegro” in a Colombian report was read as the country Montenegro. Countries that are also surnames are no longer treated as places after first names.
- 30/10/2026 – Translation: with English as the target language, some English headlines were translated into German. Fixed.
- 30/10/2026 – The precipitation layer was empty because NASA daily values only appear after two days. We now use the half-hourly values (about 6 hours old).
- 30/10/2026 – “Brent crude” (oil benchmark) was located as the London borough of Brent. Fixed.