Pocketmark
Bookmarking that works on the underground and syncs when it doesn't.
- TypeScript
- Next.js
- Tailwind
Pocketmark is a bookmarking app built offline-first, because the moment you most want to save a link is the moment you have no signal.
Design constraints
- Saving a link must never fail, ever, for any reason.
- The app must open instantly, with no spinner, from a cold start.
- Sync is a background detail the user never has to think about.
The first constraint drove everything else. A save writes to IndexedDB and returns immediately; a service worker drains the queue whenever connectivity returns.
Metadata without a round trip
Fetching a page title requires the network, which constraint one forbids. Pocketmark stores the raw URL immediately and enriches it later, so a bookmark starts as a bare link and quietly grows a title, favicon and excerpt once it can.
What surprised me
Conflict resolution barely mattered. People rarely edit the same bookmark from two devices, so last-write-wins with a vector clock for detection was enough. I had budgeted two weeks for a merge UI and never built it.