How Boring works

Boring publishes one short edition of the news each morning. AI writes it from the headlines and short summaries news outlets publish, and checks every claim against them. A story can also carry background on the cases, laws, programs and earlier events it names, from official records and earlier reporting, checked against the pages it comes from. This page describes what the software does today.

The sources

Boring reads the public RSS feeds of 70 outlets: 22 general news outlets, which make the main edition, and 48 specialist outlets for the app’s subcategories (defense, AI, cybersecurity, energy, medicine and biotech, and space). Subcategory stories are currently off while Boring is new.

From each article it keeps only the headline, a snippet of at most 400 characters and the link, never the full text, and only articles from the last 36 hours.

Political leaning

An outlet’s political leaning, left, center or right, comes from independent media-bias ratings, never from Boring’s AI. An outlet no rater covers is marked “Not rated” and counts for neither side. Pages show the ratings as letters (L, C, R), never as colours.

Until Boring licenses a rater’s data, the ratings are provisional placeholders set to match public ratings from AllSides and Ad Fontes Media, and every story page says so.

Choosing the stories

Claude Haiku 4.5, an AI model made by Anthropic, groups the headlines into events. It sees the headlines and snippets but not which outlet published them, so it can’t group by who published what, and it is told to leave out opinion columns, reviews and the like.

An event makes the edition only if at least three general outlets covered it, including both a left- and a right-leaning outlet, or a center outlet. Events are ranked by how widely they were covered: how many general outlets reported them, with a little more weight when outlets on both sides did, when a center outlet did, and when the newest article is under six hours old. Never by clicks, shares or time spent. The edition currently takes the top 10, and then it ends.

A story the previous edition told is skipped unless new articles about it have appeared since. That is decided by the articles themselves, never by timestamps, and when nothing is new the previous edition stays up.

Writing

Claude Opus 5.5 writes each story: a headline, a short summary, three to five facts and the coverage lens. It is given up to 12 of the event’s articles, chosen to rotate through left-leaning, center, right-leaning and unrated outlets so no side dominates, one per outlet before any outlet gets a second.

It works only from their headlines and snippets. It is told to use only what they say and nothing from its own knowledge, to attribute claims (“police said”), and to give a day or a date only when an article states one. Every fact lists the articles that state it; code then removes any citation to an article the writer wasn’t given, and any fact left without one.

Claude is made by Anthropic, so a story that mentions Anthropic says so.

Style rules

A rule checker, written in code rather than AI, rejects loaded words such as “slams”, “shocking” and “historic”, exclamation marks, headlines that are questions, and text that runs long: over 14 words for a headline, 90 for the summary or 40 for a fact. A story needs 2 to 6 facts, and its lens lines must begin “Left-leaning outlets” and “Right-leaning outlets”. A draft that breaks a rule is rewritten once with the problems listed; if the rewrite breaks one too, the story is dropped.

The fact-check

A second model, Claude Haiku 4.5, checks every claim against the headlines and snippets it rests on: the headline and summary against all the articles the writer read, and each fact, each change and each lens line against the articles it cites. It sees which outlet published each one, so “The Hill reported…” can be confirmed. A detail found in no source, such as a name, a number or a date, makes a claim unsupported, even if it is true.

The check fails closed. A claim stays only if the checker marked it supported and never unsupported, and a claim it skips counts as unsupported. An unsupported fact or change is removed. A story whose summary isn’t supported, or that is left with fewer than 2 facts, is dropped. An unsupported lens becomes “not enough coverage to compare”. Last, every story is checked against the published format, and one that fails is dropped on its own.

How it was covered

Each story has one line on how left-leaning outlets covered it and one for right-leaning outlets: what each emphasised, included or left out. A line may cite only articles from outlets of its own leaning. Citations to any other are dropped, and a line left without one, or a sample without both a left- and a right-leaning article, turns the lens into “not enough coverage from both sides to compare”. When outlets across the spectrum reported a story the same way, the lens says that instead.

The lens describes coverage, never who is right, and it never invents a difference.

Primary sources

Boring can link the documents behind a story, such as a bill, a court filing or an agency release. Claude Haiku 4.5 runs one web search limited to official sites (.gov domains, courts, the UN and the like, and each subcategory’s own agencies), and only links that search actually returned are kept, up to 3. Sports and culture stories skip it. This step is currently off while Boring is new, so most stories have none.

What changed

When a story returns from the previous edition (matched by the articles they share), it keeps its ID, and the writer also sees how it was told last time. It lists up to 3 things that are new, each citing the articles that report it and fact-checked like a fact, and the edition marks the story “Updated”.

Background

The day’s headlines and snippets often name a court case, a law, a program or an earlier event without explaining it. So a story can carry a short background after its key facts. Background explains the cases, laws, programs and earlier events a story names, from official records and earlier reporting.

It is written only from pages fetched for that story when it is made: official records, such as government, court and agency sites, and the pages of the general news outlets Boring reads. Never from the AI’s memory. Each background fact cites the pages it rests on, each with a short quote. Code checks that every quote appears word for word on the page it cites, then Claude Haiku 4.5 checks each fact against its quotes. The check fails closed: a fact that fails either check, or the style rules, is dropped. Only the fact, the link, the page’s title and publisher and the short quote are kept, never the page’s text.

The background is labelled as coming from official records and earlier reporting, not from the day’s coverage, and every page it cites is linked, with official records marked. When the story runs again, its background carries forward, and when there are new developments it can be revised: every fact added, updated or removed is listed under “How the background changed”, never rewritten silently. It appears on story pages and in the app, not in the emails or the show.

The show

Every Saturday the week’s most widely covered stories become a short show, free on the Listen page and as a podcast. Two AI voices, Ellis and Rowan, read a script that Claude Opus 5.5 writes only from the published stories, which already passed the fact-check: Ellis tells each story, and Rowan says how it was covered, strictly from its lens.

Claude Haiku 4.5 then checks every turn of the script against those stories, failing closed like the fact-check. The script is rewritten once; a story whose turns still fail is left out, and if the opening or the closing fails, there is no show. The voices are OpenAI’s text-to-speech. A daily show of each morning’s edition is built the same way but is currently off.

Reader polls

Each Saturday’s email asks up to three questions, each about a different top story of the week, skipping stories polled in the last 14 days. Claude Opus 5.5 writes each one about the reader’s own view or experience, never a question of fact, and writes none when a neutral poll doesn’t fit, such as a story about deaths, a violent crime or someone’s health. The style rules screen it, and Claude Haiku 4.5 must judge it neutral, or it isn’t asked.

Results on the Polls page give percentages, and breakdowns by age, region, political leaning, gender and marital status, one at a time and only for groups of at least 30 answers. They are always labelled as Boring readers who answered, not a representative sample. A question tracked over time keeps its exact wording. Polls on each story in the app are built but currently off.

The weekly vote

Subscribers also vote each week on what Boring builds next, from two to four small candidates. Totals stay hidden until voting closes, so early results can’t sway it; then they are published, and the winner ships within the week.

Corrections

Published editions are never rewritten. When a story gets something wrong, a correction records the text as published, the corrected text, a short note and the sources it rests on, and the Boring team approves it before it is published. The story’s page then shows the corrected text with a dated note, every correction is listed on the Corrections page, and the next weekly email and show announce it.

To report a mistake, use the feedback form: every email from Boring links to it, and it can email the link to any subscriber. Or write to boringnews.hello@gmail.com.

What Boring never does

  • Store or show an article’s full text. Only headlines, snippets and links, and for background a short quote from each page.
  • Publish a fact without a source.
  • Write background from the AI’s own memory.
  • Rank stories by clicks, shares or time spent, or run an endless feed.
  • Decide an outlet’s political leaning itself.
  • Say which side is right, or colour the sides red and blue.
  • Rewrite a published edition.
  • Show ads or track readers.

Limitations

  • AI makes mistakes. The checks catch many but not all, and they test claims only against what the sources say, the outlets’ headlines and snippets and, for background, the quoted pages: when the sources get something wrong, Boring can too.
  • Boring sees only what outlets put in their public RSS feeds, from the last 36 hours. A feed that fails one morning is missed that day, and outlets without a feed are never read.
  • The writer and the lens see a sample of up to 12 articles per story, not every article.
  • The political-leaning ratings are provisional until Boring licenses a rater’s data, and many specialist outlets aren’t rated at all.
  • Wire copy counts more than once: an AP or Reuters story republished by several outlets counts as several outlets’ coverage, which can make a story look more widely covered than it was.

Provenance

Every story records the model that actually wrote it, the model that checked it, the version of the instructions they were given and the articles the writer read, and a background records the model that wrote it. Each story’s page shows this under “How this story was made”. Every published edition is saved as it was and never overwritten, and each show’s script is saved next to its audio with the models that wrote and checked it.