The story
Sc. 01 · the brief
Eurovision news arrives as rumour first.
Bulgaria hosts Eurovision 2027, and news of who is competing arrives as hedged headlines, roundups and rumours. Fans needed one record that says yes only when it is true. The first rule we wrote: precision over recall. A missed confirmation costs minutes; a false one costs the brand.
Sc. 02 · what we built
A tracker, an archive and an outbox.
A tracker for 49 countries, an archive of 72 contests from 1956 to 2027, a season calendar and a radar of broadcaster accounts. When a country is confirmed, the outbox posts it to Telegram, Bluesky, Threads and Viber; X never gets it. English sits at the root, Bulgarian under /bg.
Sc. 03 · how we built it
Official sources publish; fan press must agree.
Two Cloudflare Workers share one D1 database: the watcher writes, the Astro site reads. An official source can confirm on its own; fan press needs two independent outlets; Wikipedia only corroborates. Anything hedged is marked rumoured, and a rumour can never publish. Copy is templated, not generated: a model may write words, never facts.
Sc. 04 · the detail
In May, “may” is not a hedge.
Claims are read from the headline only; doubt is looked for everywhere. A question counts as a rumour, a negation is caught within 44 characters, and a headline naming more than two countries is a roundup, not news. One exception was written by hand: “may” on its own is not a hedge, because the contest is held in May.
Sc. 05 · where it stands
On air until the final in Burgas.
Live since July 2026, with 311 tests standing guard over the watcher. The goal for the season is zero false confirmations, all the way to the May 2027 final in Burgas. After that the stage widens: Bulgariavision becomes Balkanvision.