Skip to content

unclutter

WXT browser extension where Jev classifies nonessential page elements and the extension saves reversible per-template hiding rules.

Browser extensionbetaMIT

Overview

Unclutter is a WXT browser extension for Chrome, Chromium and Firefox by Kitze. When you analyze a page, it sends up to 60 bounded candidate descriptions (tag, structural signals, short text, position and match count) to Jev via Vercel AI Gateway or TypeSafe directly. Jev classifies which elements are nonessential, such as ads, promotions, subscription popups and cookie overlays, and the extension saves hiding rules for that page template.

Saved templates are reapplied on later visits without further model calls, so most browsing is free and offline. Rules use stable attributes rather than AI-generated CSS, are revalidated against the DOM before hiding, and can be paused, unchecked or forgotten. Analysis is manual by default, with an optional on-visit mode. No full URL, title, article body, form values, cookies or raw HTML is sent, though the README says redaction is not a guarantee of anonymity. It is MIT licensed.

What the decision model decides

TypeQuestionAnswers
Yes / noIs this page element nonessential clutter (ad, promotion, popup, cookie overlay)?(inferred)clutter · keep

How it works

  1. Collect up to 60 candidate element descriptions on the page.
  2. Jev classifies which are clutter.
  3. Save stable-selector hiding rules for the page template.
  4. Reapply rules on later visits without model calls.

Strengths

  • One analysis per page template; later visits cost nothing.
  • Reversible, user-controllable rules.
  • Limited, redacted data sent to the provider.

Caveats

  • Template matching is heuristic.
  • Firefox builds are temporary without Mozilla signing.
  • Key stored unencrypted in extension storage.

Getting started

git clone https://github.com/kitze/unclutter.git && bun install --frozen-lockfile && bun run build, then load .output/chrome-mv3 unpacked.

At a glance

Type
Browser extension
Status
beta
Language
TypeScript
Runtime
WXT browser extension (Chrome, Firefox)
Has code
yes
License
MIT

Use cases and integrations

How curated lists describe it

  • Browser tooling: WXT extension where Jev decides per page element whether it is clutter, removing it under reusable template rules.

    yibie/awesome-jev
  • Chrome / Firefox extension: Jev classifies nonessential page elements; local template rules hide them on later visits.

    AnotiaWang/awesome-decision-models
  • A browser extension using Jev to identify ads, promotions, and subscription popups and save reusable hiding rules.

    logicrw/awesome-jev-projects
  • Browser extension that uses Jev to identify page clutter and saves reusable, reversible hiding rules.

    cobanov/awesome-jev
  • WXT browser extension: Jev-powered page clutter removal with reusable template rules.

    hellogumbo/awesome-jev
  • Browser extension that removes page clutter using Jev and reusable template rules.

    MrJev/awesome-jev

Frequently asked questions

Does it call Jev on every page?

Only for new page templates; saved rules are reused without model calls.

What data is sent?

Up to 60 short candidate descriptions, not full URLs, titles, article bodies or cookies.

Which providers are supported?

Vercel AI Gateway or TypeSafe directly.

Related projects

  • Privacy-first X filtering extension with local keyword and account rules, plus an optional Jev second pass on replies no rule matched.

    Pluginproduction
  • Chrome extension that asks Jev, sentence by sentence, whether text is what the reader came for and strikes out the filler.

    Browser extensionproductionJavaScript
  • Browser extension that filters your X timeline by plain-language rules, with a decision model like Jev scoring every post by default.

    Browser extensionproductionTypeScript
  • Chrome extension page guide whose small typed decisions (request type, element to click, match or not) use Jev or local Laya.

    ProjectbetaJavaScript
  • Chrome extension that labels Weibo, Threads and X posts by topic and expression style using Jev and your own label dictionary.

    Browser extensionbetaTypeScript
  • Chrome extension that sorts Hacker News comments into user-defined buckets with one Jev Choice call per comment.

    Browser extensionbetaJavaScript