top of page
LifeTech
EXP#
12

Curo

A local-first bookmark manager that imports any browser's bookmarks export, detects exact and fuzzy duplicates, flags organizational gaps, and scores the whole library on a configurable Knowledge Health Score โ€” entirely client-side.

01

Problems Solved

My browser bookmarks are such a mess that I cannot find anything

02

Context

Bookmarks accumulate for years across every browser a person has used, and most managers only ever add to that pile โ€” they don't audit it. Curo set out to treat an unmanaged bookmarks bar as a data-quality problem: duplicates, dead folders and links nobody will ever find again, entirely inside the browser with no account and no server.

03

The Challenge

The product needed to take a raw HTML bookmarks export from any browser and turn it into something a person could trust โ€” deduplicated, organized and scored โ€” without ever sending that browsing history anywhere, which ruled out any server-side processing or account system.

04

Research

Looked at how existing bookmark managers handle duplicates and found most only catch exact-URL matches โ€” near-duplicates, like the same article with different tracking params, went untouched, which is why fuzzy grouping became the core of the product rather than a secondary feature.

05

Insights

The key findings that shaped the direction.

01

A pile of bookmarks isn't a library โ€” it's an unaudited data set


Users didn't need another place to save links; they needed something to tell them what was wrong with the links they'd already saved, which reframed the product from a save-tool to an audit-tool.

02

Exact-match duplicate detection catches maybe half the problem


Near-duplicates โ€” the same article with different query params, or both the AMP and canonical URL bookmarked โ€” needed fuzzy title and URL matching to actually surface, not just exact comparisons.

03

A single health score is what makes 'good enough' visible


Nobody was going to manually audit two thousand bookmarks; a configurable, weighted score across duplicates, organization, tags and freshness gave people a number to chase instead of an infinite backlog.

06

How decisions were made

01

Start from an import, not an empty state


Built the first-run experience around dragging in an existing HTML bookmarks export, with a live preview of what will be added, so the product proves its value against a person's real, messy library on the first screen.

02

Separate detection from resolution


Split duplicate handling into a detection pass โ€” exact-URL and fuzzy-title grouping โ€” and a resolution step, so bulk cleanup never silently merges or deletes anything without an explicit choice.

03

Make the score explain itself


Broke the Knowledge Health Score into five weighted, individually adjustable factors โ€” duplicate-free, organized, tagged, well-labeled, fresh โ€” each with its own explanation of what's dragging it down.

04

Treat local storage as the entire architecture


Designed every interaction โ€” search, tagging, collections, export โ€” around IndexedDB as the only datastore, which meant designing for what happens when a user clears their browser data, not just the happy path.

07

Solution

A local-first bookmark manager that imports any browser's bookmarks export, detects exact and fuzzy duplicates, flags organizational gaps, and scores the whole library on a configurable Knowledge Health Score โ€” entirely client-side.

Exact-URL and fuzzy near-duplicate detection with one-click bulk merge

HTML bookmarks import from Chrome, Firefox, Safari or Edge with a live preview before anything is written

Custom and automatic collections, fuzzy search, and export to HTML, CSV, JSON or Markdown

Cleanup Engine flagging missing metadata, empty folders and broken hierarchies

BEHIND THIS EXPERIMENT

Prabhu

help us learn

Would this make things better for you?

If you've dealt with this problem, tried something or would be interested in testing what we build next, we'd like to hear from you.

bottom of page