Skip to content

Repository files navigation

Sharp

Cut the slop.

Filter your X timeline with an AI model you choose and pay for directly. Describe what you want to see — or never see again — in plain language.

Install from the Chrome Web Store   Sponsor on GitHub
Buy me a coffee at ko-fi.com

Typing a filter into Sharp, then posts collapsing on the X timeline

Square · Widescreen full quality


What it does

  • Filters in your own words. "Hide engagement bait and crypto threads", or "only keep software engineering". Whatever you'd tell a person.
  • Per-author rules. Never filter someone, or always hide them, straight from a post's ⋯ menu.
  • Blocked words, matched before the model is asked.
  • Teach it. Mark a hidden post as a wrong call, or pick "Hide posts like this" from the ⋯ menu; your recent corrections go to the model as examples.
  • Teach X too. Optionally, Sharp tells X you're not interested in what it hides, so the algorithm learns alongside the model.
  • Thread escape hatch. One click above the reply box shows every comment in a thread, filters off.
  • Nothing shown before it's judged. Undecided posts wait behind a placeholder, so nothing slips through and the timeline never jumps.
  • Any OpenAI-compatible provider. OpenRouter, OpenAI, Anthropic, or your own endpoint.
  • YouTube, the quiet way. Hide Shorts, hide comments, and show, blur or drop thumbnails. Durations stay. No model involved.
  • Greyscale. Wash the colour out of the chrome, the content, or both, on X and on YouTube. Less pull, same information.

Private by construction

There is no Sharp account, no Sharp server, and nothing to sign up for. Your API key lives in your browser and talks to your provider — nobody else sees your timeline, your filters, or what got hidden.

You pay your provider directly. Nothing is collected, measured, or sent anywhere else.

Install

Chrome and other Chromium browsers: from the Chrome Web Store.

Firefox: submitted to addons.mozilla.org and awaiting review. Until it is signed, grab sharp-<version>-firefox.zip from Releases or build it from source below, and load it as a temporary add-on. Firefox 140 or newer.

From source, with Bun:

git clone https://github.com/tshmieldev/sharp
cd sharp && bun install
bun run build           # Chrome, into the repository root
bun run build:firefox   # Firefox, into firefox/

In Chrome, open chrome://extensions, turn on Developer mode, click Load unpacked, and pick the repository folder.

In Firefox, open about:debuggingThis FirefoxLoad Temporary Add-on, and pick firefox/manifest.json. A temporary add-on is gone after a restart, which is why the AMO listing matters. Firefox hands out site access one origin at a time, so open Sharp and use Grant access if it says it has none for x.com, youtube.com or your provider; reload any tabs that were already open.

Set it up

  1. General › Connection — choose a provider and paste an API key. OpenRouter is the easiest start: one key reaches most models, topped up a few dollars at a time.
  2. Pick a model. Browse sorts the catalogue by popularity, price, context or measured latency.
  3. X › Filtering — write what you want filtered, then Apply.

Open X and scroll. ⌥⇧F turns filtering on and off; ⌥⇧T unfilters the thread you're reading.


Found a bug? Open an issue. Building on it? See CONTRIBUTING.md.

Privacy policy · MIT licensed · Copyright © 2026 tshmieldev

About

Control your social media feed, not the other way around.

Topics

Resources

Contributing

Stars

28 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages