logo

Show HN: Shelf, a local-first open-source tab manager for Chrome

Posted by mirza_rizvi |2 hours ago |3 comments

mirza_rizvi 2 hours ago

I built Shelf because I kept ending up with way too many tabs open.

Bookmarks never really worked for me for this. Most of the time I don't want to bookmark something permanently. I just want to put a bunch of tabs away, get them out of my browser, and come back to them later.

I also didn't want another service storing my browsing/session data, so Shelf doesn't have a backend or an account system. Everything is stored locally using Chrome's extension storage. There are no analytics, telemetry, external requests, host permissions, or content scripts.

You can save a single tab, selected tabs, a tab group, a window, or everything you have open. Sessions are searchable and you can restore individual tabs or the whole session later. Chrome tab groups are preserved as well.

A couple of implementation details I spent some time on:

Shelf writes and verifies a session before closing the original tabs. If the save fails, the tabs stay open.

When you restore a full session, the tabs are created unloaded so restoring a large session doesn't suddenly load 100+ pages.

There's also local trash, duplicate detection, JSON backup/export, OneTab import, and an optional per-window tab limit.

The main tradeoff with keeping everything local is that uninstalling the extension removes its local data, so I added JSON backups for that reason.

The source is MIT licensed:

https://github.com/mirza-rizvi/shelf

I'm particularly interested in feedback from people who use OneTab, Session Buddy, or similar tools.

I'd also be curious what people think about cross-device sync. I intentionally left it out because I didn't want Shelf to require an account or backend, but there may be a reasonable local-first approach to it.

anatolykhelmer 2 hours ago[1 more]

Will it work in Firefox? How can I install it there?