Back to work / Case study

HistorySync.

A privacy-first browser history platform that unifies desktop search, browser extension access, and multi-device incremental sync.

RoleArchitecture / Desktop / Extension / Sync
Year2026 - Present
PlatformDesktop / Browser Extension / Go Service
Status Active
30+
Browsers supported
10
UI languages
1M+
Searchable records
5M
Stress-test records

Browser history is useful, but scattered across devices, profiles, and engines.

HistorySync started from a simple problem: useful browsing context lives in too many places, and most tools either ignore privacy or only work inside a single browser.

The goal became a local-first system that can collect, search, annotate, and synchronize history without turning personal browsing data into a cloud dependency.

A desktop aggregator, an offline extension, and a sync service share one product surface.

  1. D1Desktop core

    A PySide6 application aggregates history from Chromium, Firefox, Safari, and portable browser profiles into SQLite with FTS5 search.

  2. E1Extension access

    A WXT + React browser extension uses SQL.js and Web Workers to keep fast local search available without blocking the browser UI.

  3. S1Incremental sync

    A Go Fiber service coordinates device registration, event distribution, and real-time state updates for multi-device consistency.

The system favors local control, bounded search cost, and eventual consistency.

Local-first storageover Cloud-first indexing

SQLite FTS5 keeps personal history searchable without requiring a hosted search backend for the default workflow.

Incremental eventsover Full backup sync

HLC ordering, change logs, bundles, and frontiers reduce transfer cost while preserving replayable state changes.

Bounded semantic searchover Unbounded LLM calls

Natural-language improvements sit behind DSL and FTS recall so the fast path remains predictable.

The product is engineered for high-volume personal data without sacrificing responsiveness.

Million-record search

Virtual scrolling, keyset pagination, FTS5 trigram indexing, and SQL-side filtering keep large history sets usable.

Privacy-preserving sync

The sync design uses event sourcing, CRDT conflict handling, and AES-GCM end-to-end encryption paths.

Knowledge layer

Bookmarks, tags, annotations, and structured filters turn raw history into a reusable personal research surface.

Operational tooling

A CLI and plugin-oriented architecture support export, search, maintenance, scheduled tasks, and future extensions.

The next phase is refinement around sync, release quality, and semantic retrieval.

  • - Harden incremental sync behavior across more real device scenarios
  • - Continue improving the extension-side offline search path
  • - Use semantic reranking carefully where it improves recall without slowing the default search loop
Next case study
LexiSync
2026 / Localization collaboration platform