![]()
Filter the noise.
Keep the good vibes.
A browser extension that quietly removes negative headlines from news sites. No API keys, no cloud calls. Everything runs locally in your browser.
Get the extension Free and open source. Chrome & Firefox.
Why this exists
"I just wanted to read the news without it ruining my day."
Every time I opened a news site, the front page was a wall of death, murder, and disaster. It wasn't informing me, it was just spoiling my mood and creating fear for no reason. I wanted to read the news I actually cared about without wading through the worst of it.
I looked into building something that could parse headlines and filter them by sentiment. Running an LLM for every headline was too slow and too expensive. So we (AI and I) built a lightweight keyword + rule-based scoring engine that runs entirely in the browser. Zero API calls, instant results.
See it in action
Negative headlines get replaced with a gentle placeholder. Click "Show anyway" to reveal them.
How it works
1
Detect cards
Finds article cards and headlines on the page using site-specific selectors, with a generic fallback for unknown sites.
2
Score the text
Each headline is scored 0–100% using keyword matching, severity weighting, and pattern rules. Allow-keywords (like "rescue" or "win") reduce the score.
3
Filter or keep
If the score exceeds your chosen threshold, the card is masked, blurred, or hidden. You pick the mode and strictness level.
The scoring engine
Headlines are scored locally using a weighted keyword + rule system. Here's how the score builds up:
Negative keywords
40+ terms like death, killed, bomb, crash, murder. Each match adds +28% to the score (capped at 85%).
Severity & patterns
High-severity terms (massacre, fatal, suicide) add an extra +22%. Patterns like casualty counts ("12 killed") add +35–40%.
Allow keywords
Positive terms like rescue, win, award, innovation subtract -18% per match to prevent false positives.
Strictness thresholds
You choose how aggressively to filter:
| Level | Removes when score is |
|---|---|
| Low | ≥ 72% |
| Medium (default) | ≥ 48% |
| High | ≥ 25% |