Skip to content

Repository files navigation

         .    *     .      ·       ✦
   ·   ✦       .  ·    *       .
      .   ○───────○        ·
    *    /         \   ✦      .
   ·   ○           ○─────○     *
         \       /       ·
     ·    ○────○      ✦
          ·       .

ChronoCluster Live

Your browser history, as a living constellation.

A Chrome extension that turns every tab you open into a star, every link you follow into a thread of light, and your whole browsing session into a tiny universe drifting quietly in the corner of your screen.

CI License: MIT Manifest V3


Install

From the Chrome Web Store: coming soon — listing is pending review.

From source (for now):

git clone https://github.com/Mintsolester/Chronocluster.git
cd Chronocluster
npm ci
npm run build

Then in Chrome: chrome://extensions → toggle Developer modeLoad unpacked → point at dist/.

Click the ChronoCluster icon in your toolbar. A full tab opens. Start browsing. Watch your constellation bloom. ✨

What is this, exactly?

You open a tab. It becomes a node. You click a link. The new tab is born connected to its parent. You close a tab. The node gently vanishes.

No bookmarks. No folders. No forgetting. Just a live, force-directed graph of your own curiosity — constantly rearranging itself as you browse.

Hover a node, and the threads that bind it to its siblings light up purple. Drag one, and the whole constellation ripples. Zoom out, and watch a thousand tabs cluster by domain like galaxies on a golden spiral.

Why though?

Because tab bars are a lie. They pretend your browsing is linear — it isn't. You branch, backtrack, detour, rabbit-hole. ChronoCluster just... shows you the actual shape of it.

Features

  • 🌌 Live graph — tabs appear, move, and connect in real time, powered by d3-force in a web worker so your browsing never stutters
  • 🔗 Edge styles for every intent — dashed for typed URLs, dotted for form submits, solid for clicks. You'll know at a glance whether you chose to be here or stumbled in
  • Directional arrows — every connection points from parent to child, so the story of "how did I end up here" is always legible
  • Obsidian-style dragging — grab any node, fling it around, release it back into the sim
  • 🔍 Fluid zoom & pan — trackpad pinch, scroll wheel, on-screen buttons, or click-drag the empty void
  • 🎨 Obsidian-dark palette — off-white stars on charcoal, with a purple accent that shows up only where it matters
  • 💾 100% local — all data lives in IndexedDB on your machine. No telemetry, no server, no "we value your privacy" banner because there's nothing to value
  • Handles 2000+ nodes — automatic level-of-detail kicks in when things get galactic

Privacy

ChronoCluster runs entirely on your machine. There are no network calls, no analytics, no third parties. Full details in PRIVACY.md.

Under the hood

Three contexts, strictly separated:

Context Lives in Sees Touches
🛰️ Service worker src/background.ts Chrome tab/nav events IndexedDB
🖼️ Full-tab page src/App.tsx + renderer.ts DOM, Pixi.js v8 IndexedDB (read)
⚙️ Physics worker src/worker.ts d3-force simulation nothing else

Positions stream from worker → page as transferable Float32Array every ~16 ms. Dexie useLiveQuery diffs the graph and forwards only deltas. Domain gravity places new clusters on a golden-angle spiral so your favourite sites never land on top of each other.

More detail in MANUAL.md and SHIPPING.md.

Contributing

PRs welcome. See CONTRIBUTING.md for the short version, and open an issue first for anything non-trivial.

Automated Chrome Web Store releases (maintainer only)

The workflow at .github/workflows/submit.yml uses PlasmoHQ/bpp. To enable, add these GitHub repo secrets:

  • CHROME_EXT_ID
  • CHROME_CLIENT_ID
  • CHROME_CLIENT_SECRET
  • CHROME_REFRESH_TOKEN

Trigger manually via workflow_dispatch. See SHIPPING.md for full submission details.

License

MIT © Mintsolester


Made while watching too many tabs drift across too many screens.

About

Your browser history, as a living constellation. A Chrome extension that visualises every tab and click as a real-time, force-directed graph — 100% local, quietly mesmerising.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages