๐Ÿšช Tab Bouncer

September 19, 2026 ยท View on GitHub

A Chrome extension that closes the tabs you don't need, based on what you say you're doing.

Type "planning a trip to Lisbon" and every open tab gets rated for how useful it is for that. The ratings come from Jev, TypeSafe AI's decision model: one call, every tab judged at once, back in about a second, for a hundredth of a cent. Tick, untick, close. Reopen them all if you change your mind.

Tab Bouncer after checking 12 tabs: 5 rabbit holes found, 9 tabs to close

Install

Takes about two minutes. Chrome, Edge, Brave and Arc all work.

  1. Get a TypeSafe API key at console.typesafe.ai.
  2. Download this repo (green Code button โ†’ Download ZIP, then unzip) or git clone https://github.com/MANISH007700/tab-bouncer.
  3. Open chrome://extensions, switch on Developer mode (top right), click Load unpacked, choose the tab-bouncer folder.
  4. On the Tab Bouncer card click Details โ†’ Extension options, paste your key, Save and test.
  5. Press โŒ˜โ‡งB (Ctrl+Shift+B on Windows/Linux) on any page. If nothing happens, another extension owns that shortcut: change it at chrome://extensions/shortcuts, or just click the ๐Ÿšช icon in the toolbar.

Settings page with the API key field and Save and test button

How to use it

1. Say what you're working on. One line is enough: "fixing the login bug", "writing the Q3 deck", "nothing, it's Friday". Only the window you're in is checked unless you pick all windows.

The popup asking what you are working on, with this window / all windows options

2. Check my tabs. About a second later every tab has a percentage (how useful Jev thinks it is for what you typed) and a kind: ๐ŸŽฏ on task ยท ๐Ÿ“š reference ยท ๐Ÿ‡ rabbit hole ยท ๐Ÿ›’ shopping ยท ๐Ÿ’ฌ social. Tabs sort into Close and Keep. Click a title to jump to that tab.

The Close and Keep lists with percentages and kinds

3. Set how strict. Tabs rated below the slider get ticked. 50% is fair. 80% is a nightclub in Berlin. Untick anything you want to keep, tick anything Jev was too kind to.

4. Close N tabs. Done. Changed your mind? Open the popup again and click Reopen them; the whole batch comes back.

The popup offering to reopen the 9 tabs closed last time

5. Copy summary puts a line like this on your clipboard:

Tab Bouncer checked 161 of my tabs. 44 worth keeping. 117 closed. 26 rabbit holes found. Judged by Jev (@typesafeai) in 1.6s for $0.0022.

Some tabs are always safe, whatever Jev thinks: pinned tabs, tabs playing audio, and the tab you're on. Browser pages like chrome://extensions are never touched.

Make it a game

  • The Friday sweep. Type "nothing, it's Friday" and see what survives. Almost nothing does. Screenshot the verdict.
  • Honesty mode. Describe what you should be doing. The rabbit hole count is your accountability score.
  • Strictness roulette. Slide to 90% and close without reading the list. Reopen exists for a reason.
  • Warren leaderboard. The summary includes the rabbit hole count. Compare with friends. Lowest number is not necessarily the winner.

Privacy

Tab titles and URLs are sent to api.typesafe.ai with your own key, and nowhere else. Nothing is sent until you press Check my tabs. Your key stays in the extension's local storage in your browser. TypeSafe states that Jev is not trained on requests; see their data handling notes.

How it works

judge.js builds one request per batch of up to 120 tabs. The state is { what_the_user_is_doing_right_now, open_tabs[] } and every tab gets two questions: a yes/no ("the tab with id N is useful for what the user is doing", answered as a probability) and a choice over the five kinds. Jev evaluates all of them in parallel against the same state, so 100 tabs take about as long as 10. planBounce applies the safe-tab rules and the strictness threshold. The popup only renders and closes tabs.

Development

node --test tests/judge.test.mjs

Tests cover the request shape, batching, pricing, safe-tab rules, summary text and verdict lines, and run offline. Edit the files, then hit โ†ป on the extension card to reload.

MIT licensed.