unbias.me / A news feed scored against 48 named media biases


@bitdrift · October 2026

I created unbias.me as an experiment. Partly because I find media bias fascinating, but also because I wanted to test Jev, and news articles are a great continuous supply of raw text. Since the first Cloudflare worker started processing links two weeks ago, the site has processed over 60K articles at a rate of around 5K articles a day from about 340 news outlets.

How it works

The general architecture is pretty simple. It’s written in TypeScript, runs on Cloudflare ($5/mo tier), and uses D1 (one main table). New articles arrive via RSS and go through a pipeline that uses several models to analyze each before it’s added. These include Jev classifiers for format, impact, partisanship, and topic, plus 48 media bias types named the way Wikipedia names them. There’s an LLM call (Qwen 3.7 Plus) to write a new headline, a Jev check that the new headline is still true to the article, and an embedding model (bge-small-en-v1.5) to cluster articles about the same event. The whole pipeline comes out around 10K tokens per article. At 5K articles a day the bill is about $3 a day, most of it Jev. Since the site has no accounts or other big features, I was able to keep the web application layer very lightweight with no third-party dependencies.

It was written using a combination of Claude models in my spare time over a couple of weekends.

What I learned

FAQ

Moving forward

I expect I’ll keep the service running for a few months at least, but beyond that I have no plans or expectations for it. In the meantime, I hope people find it useful as a learning experiment, if not as an actual news aggregator.