Browser Bookmarks Cleanup
Years of "I'll come back to this" leaves most browsers with hundreds of stale or duplicated bookmarks, half labeled "Untitled" and the rest buried in folders nobody made on purpose. This demo shows what AI-driven cleanup looks like on a representative 25-bookmark messy sample — a side-by-side view of the original chaos and the AI's proposed reorganization, with explanations of why each move was made.
What this demo shows
- Reorganization — flat or randomly-foldered bookmarks regrouped under sensible category folders.
- Relabeling — "Untitled", cryptic stub titles, and outdated names rewritten to something descriptive.
- Duplicate detection — exact-URL dupes grouped so you can see what would be merged.
- Side-by-side preview — before/after view with per-folder rationale.
What the demo can't do (but the tool can)
This demo runs against a curated fixture. The full Browser Bookmarks Cleanup tool adds:
Basic tier — your own bookmark file (up to 2 MB, single browser), real AI reorg with gpt-4o-mini, HTML + JSON export back to a browser-importable format, and template-saving for your preferred reorg style.
Advanced / Pro tier (live now) — bulk upload across multiple browsers (Chrome + Firefox + Safari + Edge + Opera + Brave), 3-stage dedupe (exact-URL after normalization, then 85% string similarity within the same hostname, then optional text-embedding-3-small at 92% cosine — the embedding pass catches paraphrased near-duplicates that string similarity misses), async link validation (HEAD-checks every URL after AI cleanup, behind a 10-runs-per-hour cap, SSRF-hardened), gpt-4.1 for deeper category awareness with a model selector to pick from 6 alternatives, and all five export formats: HTML, Chrome-shape JSON, flat CSV, Excel (one sheet per top-level folder), and a PDF audit report (relabels + dupes + broken-links list).
Frequency-weighted ranking (live now) when you also opt to upload your browsing history (Chrome / Edge / Brave History SQLite + Google Takeout JSON, Firefox places.sqlite, Safari History.db). The AI sees ONLY the top-30 domains by visit count — your full history stays server-side and is dropped after the request. Folders covering your most-visited sites surface first.
Cross-device cloud sync (v1.6, live now — available to any paying tier) — save up to 20 cleaned trees under your account and re-load them on any browser or device without re-uploading your original files. Loading a saved tree skips the AI call entirely and jumps straight to the export view. Each tree is RLS-scoped to your user; the oldest is auto-pruned when you exceed the 20-tree cap.
Resolution & Clarification Pipeline (v1.7 + v1.8, live now — Pipeline complete) — closes the categorization gap when bookmark titles are missing or cryptic. Tier 2 (always-on): an admin-curated domain reputation map (233 seeded patterns across 17 categories) hints the AI before it categorizes any "Untitled" or empty-title bookmark. Tier 3 (Pro opt-in): for the bookmarks Tier 2 can't categorize, the route scrapes the page's <title> + Open Graph tags as additional AI signal — SSRF-hardened, 50 KB body cap, 3s timeout, 50 scrapes max per generation. Tier 4 (Basic + Pro): after AI cleanup, items the model marked low-confidence surface as cards with a folder dropdown — pick what you'd prefer, the AI re-runs with your hints and adjusts nearby items for consistency. Basic uses a fixed 0.7 threshold; Pro gets a localStorage-persisted slider (0.5–0.8).
Upload UX + correctness pass (v1.9, live now) — Drag-and-drop dropzone replaces the old multi-select file input. Add files one at a time from different folders, see the running list, remove any file with a single click, or paste files from your clipboard. The dropzone applies to all four upload categories: bookmarks, browsing history, passwords, and cookies. A new ↺ Start Over button in the results header clears every input so you can begin a fresh run without reloading the page. And under the hood: the AI-to-tree handoff was rewritten so the server now deterministically places every input bookmark in a folder — even when the AI silently omits some from very large libraries (2,500+ bookmarks). Anything not assigned by the AI lands in an "Uncategorized" folder for the clarification step to handle. Fixes a silent-data-loss bug where the "after cleanup" count claimed more bookmarks were placed than were actually visible in the proposed tree.
Per-source visibility (v2.0, live now) — When you upload 2+ bookmark files (Chrome export + Firefox export + Edge export, say), the results view now opens with a Sources panel: one row per uploaded file showing how many bookmarks came from each, how many were unique, and how many URLs appeared in 2+ files. A source filter above the Before/After trees lets you tab between "All / chrome.html / firefox.json / edge.html" so you can verify exactly which browser contributed which bookmarks — and audit overlap between them. Each Before-view item carries a small chip with its source filename for quick scanning. Single-file uploads see no change.
Configurable subfolder depth (v2.1, live now) — Pro users now control how deeply the AI nests folders via a slider in the Pro-options card (1–4 levels, default 2). The choice persists per browser. Pick 1 for a flat top-level structure, 2 for one nested level (Finance → Bills/Investments/Tax), 3 for two nested levels, or 4 for maximum depth on huge libraries. The AI prompt nests aggressively when a folder would otherwise contain 9 or more items — so a flat "Finance" with 30 bookmarks gets split into Bills, Investments, Tax automatically instead of remaining one overstuffed folder. Basic tier stays at depth 2 (no slider visible) but still benefits from the smarter nesting prompt.
Clarification rescue + 502 fix (v2.2, live now) — When the AI marks a stack of bookmarks as uncertain, the clarification step is now much easier to work through: every URL is a clickable link that opens in a new tab so you can verify what a page actually is, the dropdown gains a 🗑 Remove this bookmark option so disposable bookmarks can be deleted in-flow, and a Mark all as remove button covers the case where the uncertain list is mostly junk. Under the hood, the clarification submit no longer round-trips your entire bookmark tree through the AI — your picks now apply server-side deterministically, so the 502 timeouts at 150+ uncertain items are gone. And the main cleanup prompt now treats your existing folder organization as a strong signal rather than ignoring it, which should leave far fewer items uncertain on future runs.
Bulk re-evaluate on the uncertainty page (v2.3, live now — Pro) — Two Pro-only buttons in a new "Help me here" card at the top of the clarification step. 🔗 Check links HEAD-pings every uncertain URL in parallel; any that return a 4xx, time out, or fail an SSRF check get auto-flipped to Remove and tagged with a "Broken link" badge — perfect for clearing out a decade of dead bookmarks in one click. 🤖 Auto-categorize runs the curated domain-reputation map plus a focused AI pass on just the uncertain items and pre-fills each dropdown with the new suggestion (badged as "AI suggested"). You can override either one before clicking Apply. Bounded to 5 bulk passes per hour per user to keep cost predictable. The two passes don't fight: items flagged as broken stay flagged for removal even if Auto-categorize ran afterward.
Smarter link checks + collapsible folders + browser-by-browser export help (v2.4, live now) — The bulk link checker is now much more careful: only definitively-broken links (404 / 410 / DNS failure) get auto-flagged for removal. Anything ambiguous — a site that refuses bot-style checks, a slow server, a rate-limited response — gets kept in place with a yellow "Couldn't verify" badge so you decide. The After-view trees are now collapsible: click any folder to fold its contents, or use the new "Expand all / Collapse all / L1 / L2 / L3" buttons to navigate a multi-level tree at a glance. And new in the upload step: a Browser export instructions link opens a step-by-step guide for getting bookmarks, history, passwords, and cookies out of Chrome, Edge, Brave, Opera (regular, GX, Air), Perplexity Comet, Firefox, and Safari.
Manual edit + drag-drop in the After view (v2.5, live now) — The proposed tree is now fully editable, like your browser's bookmark manager. Hover any row to reveal ✏ and 🗑 icons: rename a title or folder name in place, edit a URL, or delete a bookmark or folder. Grab any row and drag it into another folder to move it — the same gesture works for whole folders, with safety rails that prevent moving a folder into itself or one of its children. All of this is client-side and happens instantly — no AI calls, no waiting. Once you have the tree exactly how you want it, hit export.
Refine with feedback + revert any edit (v2.6, live now) — A new free-text Refine with feedback panel below the result tree lets you describe high-level changes in plain English: "consolidate my finance folders", "move all photography sites to Reference", "rename Development to Engineering". The AI returns compact deltas (which bookmarks to move, which folders to rename or delete) and the server applies them — never round-tripping your entire tree, so the 502 timeouts that hit on large clarifications can't happen here. Every edit, drag-drop, deletion, AI refine, and AI clarification submit gets a snapshot saved to an in-session Versions dropdown — pick any prior version to revert ("Before refine · 2m ago"). If you ran your cleanup with browsing history uploaded, the Auto-categorize button on the uncertainty page now also considers your most-visited domains when suggesting folders — sites you actually use end up in folders that surface them.
Categorization quality fixes + UX polish (v2.7, live now) — The biggest change isn't visible until you look at where each bookmark lands. The AI prompt was over-respecting the folder a bookmark used to be in — which sounds smart but actively hurt quality, because the whole reason you're using this tool is that your existing organization is messy. The prompt now treats your existing folders as a hint, but always prioritizes the bookmark's title and URL when they tell a clearer story. A new server-side sanity check catches placements where the chosen folder shares no obvious words with the title or URL — those get flagged as uncertain so you can review them. Every placed bookmark now carries a one-sentence reason ("Title mentions North Carolina home construction — fits Home"); hover any bookmark in the After view (or click the ⓘ next to it) to see the reasoning. Plus four UX touches: the Browser export instructions modal collapses each browser by default so you can scan a long list quickly; the Refine textarea now spans the full panel width; the Basic upload area clarifies that only one file is allowed; and the Pro options card has been rewritten in plain English (no more version numbers cluttering the descriptions).
Bulk re-evaluate scales to any size (v2.8 + v2.9, live now — Pro) — The Pro Check Links and Auto-categorize buttons now handle uncertainty lists of any size. Items get automatically chunked into batches of 150 and run sequentially with live progress text ("Checking batch 2 of 6…"); the final summary tells you how many batches completed. Each batch finishes in ~10-25 seconds, so an 800-item library takes a few minutes total. If a batch fails partway through (rate limit, network glitch), the completed batches are kept and you can retry to finish the rest. The hourly rate limit is 30 bulk calls per user, with headroom for running both modes on a large library.
Grouped uncertainty + better link check + faster Apply (v2.10, live now) — The uncertainty page now groups items by the AI's initial folder guess. Each group is collapsible, shows how many items it contains, and has its own "🤖 Re-do this group" button — so you can re-categorize a single batch of related items instead of re-running everything. The Check Links check was also rewritten: it now sends browser-shaped headers and always verifies with a GET request (with a Range header so it only pulls the first few KB), eliminating the false-positive removals that were happening on Cloudflare-fronted sites and other anti-bot-protected pages. Only 404 and 410 from GET count as broken now. The Apply choices button no longer fails on large lists. And bulk actions show a live spinner so you can tell the tool is actively working.
Audit hardening + warnings surface (v2.11, live now) — After a deep 5-perspective audit of the tool, the first remediation cycle ships eight fixes: the credential download is now atomically single-use (no concurrency window), the post-generate "Find broken links" Pro toggle uses the same accurate classifier as the bulk Check Links button, the main generation route now has per-user rate limiting so a compromised session can't burn unbounded AI cost, CSV / Excel exports are protected against formula-injection from user-controlled bookmark titles, every export route enforces the Pro tier server-side (not just demo-vs-not), the main route clamps the mode against your actual subscription tier so feature-toggling can't be hand-rolled, server-side warnings ("12 items placed in Uncategorized," "8 flagged for review") now appear as a banner above the results, and saved-tree loads default to After-view-only with a caption (the original upload isn't stored, so there's no real Before to compare against).
Pro — credentialed data (opt-in per generation, live now) — clean up and consolidate browser-saved passwords (5 import formats: Chrome / Edge / Brave / Firefox / 1Password / Bitwarden / KeePass) and cookies, with deterministic dedupe. Credentials are NEVER sent to AI; consolidation is rule-based only — CI-enforced via a build-time guard that fails the build if any AI SDK is imported into the credential pipelines. Re-exports are gated behind a 3-stage flow: EULA confirmation → password re-auth against your SkillEra account → single-use 5-minute encrypted download (AES-256-GCM, blob deleted after first 2xx). Audit-logged to a dedicated table; 5 exports per hour per user.
The same engine that cleans personal bookmarks generalizes to organizing unstructured data in company repositories — file shares, SharePoint, knowledge-base links — which is what makes this tool a wedge for broader content-organization use cases.
Try it
Click through the sample below, or use the "Try with your file" button to run a real AI pass against a small (≤50 bookmarks) export of your own — one free run per hour while you're trying it out.