Essay··checked live the same day
On Hanta
The word “live” does a great deal of work on the open web and almost never says what it means. Hanta is unusually careful about it — everywhere except the one band at the top of the page that a visitor reads first.
Hanta is a single page at labs.llc/hanta/ about one family of rodent-borne viruses, and it is built on a premise that most outbreak dashboards abandon within a screen: that a page should report what it can actually measure and mark everything else as something else. Its hero says so outright — everything here is measured, fetched live and honestly labelled, and when a feed or a registry does not answer, the page says “no answer” rather than inventing one. One of the four statistics in its own hero strip is the number zero, under the words “mock stories, ever”.
That is a promise with a testable shape, which is rare enough to be worth an afternoon. So I tested the parts of it that can be tested from outside, by fetching the page and each of the files it loads, and counting.
The claims that hold
The wire, the page’s central instrument, is captioned “live outbreak news, six feeds, one box”. The script that drives it defines exactly six: five Google News searches — hantavirus, outbreaks, a broad health-and-virus query, world news and science — plus a direct search of Hacker News for stories mentioning viruses. Six, as advertised, and the feed strip under the heading offers precisely those six as chips.
The archive below it says one press sweeps eighteen hantavirus queries. I fetched
HantaProbe.js — ten and a half kilobytes — and counted the Google News search URLs inside it.
Eighteen. Not “about twenty”, not eighteen in a comment and fifteen in the code. Eighteen.
The reachability bench claims “a pool of over four hundred sites” in its hero and 400+ in its statistics strip. The site list it ships holds 436 distinct domains. The drop-down on the wire offers “all twenty feeds”; the data file behind it carries twenty entries, of which nineteen are feeds and the first is an “all” option rather than a source. Every number I could check from the shipped files was either exact or conservative. I have reviewed enough dashboards to say that this is not normal.
The archive’s design is the best thing on the page and the part most likely to be skipped. It keeps what it finds in the visitor’s own browser storage, up to a thousand articles, adding only what it has not seen before. Nothing is uploaded, no account is created, and the shelf survives the tab being closed. The page also volunteers the catch, which almost nobody does: the matching is deliberately broad — it accepts anything whose title or description contains hanta, virus, outbreak, disease or medical — so, in its own words, the archive reads wide rather than misses. A thousand saved articles is therefore a thousand articles that mentioned a virus, not a thousand about this one. Saying so costs the page a headline number and buys it a reader who can calibrate.
What “live” is actually buying
Now the sceptical part, and it is not an accusation, because the page mostly agrees with it further down.
A live news feed is live in the sense that the transport is live. It is not surveillance. What comes back from a Google News query for hantavirus is whatever a commercial aggregator’s ranking chose to surface for that string at that second, filtered through which publishers it indexes and how it weighs them. If no outlet writes about a cluster, a live feed returns silence, and silence from an aggregator is not the same fact as an absence of cases. The eighteen-query sweep widens the net; it does not change what kind of thing is in it.
The page’s own overview is admirably exact about the mechanics: feeds are read through the property’s own proxy, which holds each one for two minutes; they are read when the page opens and whenever you press Refresh; nothing runs on a background timer. Read that carefully and the honest description of this instrument emerges — it is a very good reading room, not a monitor. It does not watch anything while you are not looking. Nobody is paged. The twenty-feed list confirms the character: alongside the health and outbreak queries it carries Business & Finance, Technology & AI, Politics and Europe. That is a general-news reader with a hantavirus preset, and there is nothing wrong with that, except that “surveillance” is the word the page prefers for it.
The band at the top
All of which would be a footnote, if the first thing a visitor met were not ten tiles of numbers under an orange label reading LIVE INTELLIGENCE and a heading reading Today’s hantavirus snapshot.
What it gets wrong
The snapshot tiles are static HTML, and two of them are written in the present tense about a day four months gone. One tile reads “New cases, last 24h: +2”. The next reads “24h trend: ↑ 12%”. Two tiles along, “Last reported case” gives 12 May 2026 — 133 days before I read the page. Those three statements cannot all be about the same 24 hours.
They are not, and the page is not recalculating anything. Each tile carries an id of the form
snap-confirmed, snap-new, snap-trend, which looks like the signature of a
script that fills them in. No such script exists. I fetched the property’s own application file — thirty-four
kilobytes — and the string snap- does not occur in it once; across the whole shipped build,
snap-confirmed appears in exactly one file, the page’s own HTML. The numbers are typed into the
document. They will read “last 24h” for as long as the file sits on the server.
The page does qualify it. Under the tiles, in small grey type, it calls the band “the curated dossier of the 2026 outbreak”, and its overview section — five screens down — states plainly that this is a record, not a live case count. That is the right disclosure in the wrong order: the reader meets LIVE INTELLIGENCE, then “Today’s”, then +2 in accent colour, and only then the correction. The material is a dated dossier and it should be labelled as one where the eye lands — “as of 12 May 2026” in the tile heads would cost nothing and fix all of it.
It is worth being clear about the size of this. No case count is inflated: six confirmed, two suspected, three deaths in the shipboard cluster, and an Americas figure of 229 with 59 deaths, all attributed to CDC, WHO and PAHO, all presented as a record of a specific outbreak. The failure is one of tense and of placement, on a page whose entire argument is that labelling is what separates a measurement from a decoration. It is the one band on Hanta that is decoration.
And it sits in awkward company. Three screens below, the page tells you that the seeded placeholder stories from the property’s earlier standalone build “did not make the trip”, because this page reports what it can measure and nothing else. The snapshot band is the last passenger from that earlier build still on board, and it is wearing the uniform of the thing it replaced.
What to use it for
As a reading desk for one uncommon subject, Hanta is genuinely good and I would keep it open. The wire does what it says with six feeds; the archive is a real, private, growing shelf that belongs to the reader rather than to a server; the domain and reachability tools beside it are a strange and welcome inclusion on a health page, and they report a silent host as silent rather than as down. Its explanatory section on the virus itself — rodents, two syndromes, ventilation before sweeping — is three paragraphs long, links to the CDC and the WHO for the authoritative record, and makes no claim of its own. That is the correct amount of medical content for a news wire to carry, which is to say: almost none, and signposted.
What it is not is a surveillance system, and the difference matters to anyone who might rely on it. Nothing here is watching. The page looks when you open it, reports what came back, and tells you when nothing did.
A scrupulous page with one unscrupulous band. Every claim I could count was true — six feeds, eighteen queries, 436 sites — and the tiles a visitor reads first are a hand-typed dossier from May wearing a live label. Scroll past the snapshot; the instruments below it are the reason to be here.