PhilipAng
← All projects

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

  1. Saving a link must never fail, ever, for any reason.
  2. The app must open instantly, with no spinner, from a cold start.
  3. 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.