Article

I Built a Mirror for Your Feed (An Open Source App)

You’ve been asking “Why?” with me for a while now. I finally built something that asks it automatically — and shows you the answer, in numbers.

You’ve been asking “Why?” with me for a while now. I finally built something that asks it automatically — and shows you the answer, in numbers.

Screenshot of the Ragebait Lens app analyzing a feed

The title did it. Not the video. The title.

It’s the first few minutes of the morning. I’m not even fully awake and I’m already scrolling — and something in the feed catches, the way a splinter catches on fabric. I haven’t clicked yet. I haven’t read anything. But I already feel it: a low-grade alarm, an itch of irritation, the strange urge to forward something to someone before I’ve decided what I think about it.

I build recommendation-style systems for a living. I know, at a technical level, how these feeds are tuned. I know the signal being optimized for isn’t “did this help you” — it’s “did this keep you.” I know the vocabulary: engagement, dwell time, the fraction-of-a-second hover that tells the model something happened in your nervous system.

And I still fall for it. Constantly.

Last year, Oxford University Press named “rage bait” its Word of the Year for 2025 — content “intentionally crafted to provoke feelings of anger or outrage.” That’s not a fringe critique anymore. That’s a dictionary entry. The culture officially admitting this is a named thing with a named purpose.

So I built something.


What it is

Ragebait Lens is a free, open-source tool that reads the title text of YouTube videos and names the psychological lever each one is pulling.

That’s all it does. It never watches a video. It never downloads anything. It reads the title — the thing you were already reading — and sorts it into one of five categories: Wealth, Conflict, Entertainment, FOMO / Scarcity, or the rarer honest one, Genuine. Each title gets a bait score from 0 to 100 and a one-sentence rationale you can read and argue with. Across a whole feed, you get an aggregate verdict: what percentage of what you’re looking at was engineered to hook you — and how.

You can run it on a built-in sample feed right now. No account, no setup, nothing to install. Want to look at something real but not personal? Point it at Trending, or at any public channel, playlist, or URL. And if you want to analyze your own subscriptions, there’s an optional read-only Google sign-in — explained step by step inside the app, revocable any time.

Ragebait Lens results showing bait scores across a feed

Why it’s built the way it is

The privacy architecture is simple because I wanted it to be. There’s no server behind the site. If you bring your own API key — OpenAI or Anthropic — it lives only in your browser tab for that session and goes straight from your device to the provider. Nothing passes through me. Nothing is stored. The shareable result is numbers only — percentages, average bait score, the tactics — never your actual titles. Share the verdict, not your feed.

You can read every line of code at github.com/S-Foxx/ragebait-lens and verify all of that. MIT licensed. I’m not keeping anything from you.

That open-source part matters more than it might seem. A recurring theme here is that the machinery shaping our attention is invisible by design — the algorithm never has to explain itself. I wanted to build the opposite: fully auditable, no black box, no terms that change on you.


What it’s actually for

Running my own feed through it, what surprises me isn’t the Conflict titles I already knew were there. It’s the ratio. You can feel the pull of a feed without being able to measure it. This makes it measurable — and measuring it changes how it feels. The emotional weather of the internet stops looking like weather, random and external, and starts looking like design.

The pause — the “Why?” before the click that I’ve been writing about since this newsletter started — used to be something you had to remember to do. I wanted to make it structural. Not summoned by willpower, but built into the interface, so you see what you’re looking at before you look.

That’s why the one deliberate prompt inside the app isn’t a share button or a score. It’s a question: How will you create your own content?

Not an accusation. An invitation. Because once you can see the levers — measured, named, laid out — the interesting question stops being “who did this to me” and becomes “what do I do now that I know?”

This tool is a mirror, not a verdict. Use it to think, not to judge.

The Ragebait Lens five-category taxonomy illustrated

Try it

If you’ve read this newsletter for any length of time, you already have the instinct. You’ve already asked Why? in the half-second before a share. This is that instinct, with a number attached.

Free, open-source, nothing to install: ragebait-lens.vercel.app

Run it on the sample, or on Trending, and reply here to tell me what you find. I mean that — I’m genuinely curious what this looks like across different feeds, different habits, different corners of the internet. That’s the whole point of the “Our” in this newsletter. This is a shared space.

Tell me what you see.


Our Plain Sight is written by Sabir Foux. New pieces publish roughly twice a week. The tool is free and open-source, and always will be.