Bowerbird

You collected the bookmarks.
It builds the bower.

The satin bowerbird gathers every blue thing it can find, then arranges the collection obsessively. Bowerbird does the second half for your browser bookmarks: it audits every link, categorises them by theme, makes them searchable and askable — and then, carefully and reversibly, cleans up your browser. All on your own machine.

$pip install bowerbird-bookmarks · bowerbird serve

What it does

Link checking that doesn't lie

Only a 404/410 or confirmed soft-404 counts as dead. A bot-wall 403 is blocked, not dead. A login page counts as alive. YouTube is checked via oEmbed, because deleted videos still return 200.

Thematic analysis

Claude derives a taxonomy from your collection first, then files every bookmark under 1–3 topics with confidence. Categories are tags — one link can live in many places.

Search & Ask

Full-text search over titles, URLs and actual page text. Or ask a question and get links from your own collection, grouped by theme — never answers from the open web.

Wayback recovery

Dead links get Internet Archive snapshot lookup with per-row or bulk replacement. In practice ~70% of dead links are recoverable.

Every browser, one bower

Chrome, Brave, Edge, Vivaldi, Firefox and Safari ingest into one collection. The same link saved in two browsers is one URL — a fact, not a duplicate.

Discovery

A topic map of your collection's themes, a domain-triage view for efficient pruning, a daily rediscovery deck, and Obsidian export with wikilinked topic notes.

How a cleanup flows

01

Ingest

Read every browser's bookmarks. Strictly read-only.

02

Check

Validate every link with honest status categories.

03

Curate

Review the graveyard, triage domains, replace with snapshots.

04

Write back

Your browser gets the cleaned tree. Backup first, always.

Principles

Nothing is deleted without you. Every removal is a reviewed decision, applied only at write-back, where retired links move to a _Graveyard folder rather than vanishing.

Local-first. Your bookmarks, history and database never leave your machine. The dashboard binds to localhost; the only network calls are the ones you'd expect — checking your links, and the LLM calls you configure.

Provenance on everything. Every category records whether it came from a model, a rule, your folders, or you — so better models can later redo only the machine's work.