Synapse.
Offline-First Personal Knowledge Graph
Built a local-first knowledge management app (Notion/Obsidian-style) where the browser is the server — all data persisted in IndexedDB via Dexie with reactive useLiveQuery reads and Zustand stores, requiring no account or backend; installable as a PWA with full offline support.
Inside the implementation
- Delivered a BlockNote block editor with debounced autosave (800ms, flush-on-unmount), [[wiki-links]] with autocomplete and Obsidian-style auto-created notes, plus a live backlinks panel — all links derived from note text, eliminating any links table to keep in sync.
- Engineered a force-directed knowledge-graph canvas (@xyflow/react) with a deterministic two-zone layout (linked clusters vs. unlinked grid), node size by backlink count and color by tag; implemented client-side full-text search (MiniSearch) with fuzzy matching, tag filters and highlighting, and a Cmd/Ctrl+K command palette.
- Shipped per-note version history (30 snapshots, two-click restore), Markdown/JSON export with a defensive import parser, daily notes, templates, and hashed tag colors — backed by a 233-test suite (unit + integration on fake-indexeddb, Vitest + React Testing Library).