Side projects
Side projects I have built.
browser-extension-event-bus
Event bus for browser extensions that keeps delivering events when the Manifest V3 service worker is stopped.
Problem. Manifest V3 replaced the persistent background page with a service worker that the browser stops when it is idle, so a simple in-memory event bus loses events.
How it works. Every event is first saved to extension storage, then delivered to all subscribers, also across extension contexts. Modules can stay decoupled without depending on the service worker being alive.
Tidewell
Chrome extension to browse, search and clean up bookmarks. Finds dead links, duplicates, old entries and empty folders, and every change can be undone.
Problem. Bookmarks pile up for years. Many links are dead, the same page is saved several times and folders end up empty, but Chrome's own bookmark manager has no way to find or fix any of that.
How it works. All bookmarks are shown in one virtualized list that stays fast with 50k+ entries. The link check sends a HEAD request with a GET fallback, at most one request at a time per site, and only calls a link dead on 404/410 or a missing domain, so sites that block bots are never offered for deletion. A snapshot is saved before every change, so any clean-up can be undone. No servers and no analytics; everything stays in the browser.