{"repo":"singhpratech/ferrovec","free":true,"listed":false,"github":"https://github.com/singhpratech/ferrovec","clone":"git clone https://github.com/singhpratech/ferrovec.git","description":"The in-browser vector store that remembers — a Rust→WASM HNSW engine that persists to OPFS and stays consistent across tabs. Private, offline semantic search in 3 lines.","language":"TypeScript","stars":16,"topics":["embeddings","hnsw","local-first","offline","opfs","rust","semantic-search","transformers-js","vector-database","vector-search"],"license":"MIT","category":"databases-storage","readme_excerpt":"ferrovec The in-browser vector store that remembers . A Rust→WASM HNSW engine that persists to disk (OPFS) and stays consistent across tabs — so semantic search survives a reload instead of rebuilding from scratch every time. Most in-browser vector libraries hand you an in-memory index: fast to query, but it evaporates on reload and diverges the moment a second tab opens. ferrovec is the one built to be durable and shared — the HNSW graph lives on disk in the browser's Origin Private File System, and a single-writer leader election keeps every tab reading and writing one consistent store. Private, offline, survives the refresh. You never write Rust; you never run a server. - 💾 Durable by default — the index persists to OPFS and rehydrates on open() . Reload the tab and your vectors are already there — no re-embedding, no rebuild. (Most browser vector libs are in-memory only.) - 🪟 Cross-tab consistent — single-writer leader election (Web Locks + BroadcastChannel) so many tabs share one store instead of silently diverging. (No other in-browser vector lib ships this today.) - ➕ Incremental — upsert-style inserts, tombstoning removals, and in-place compact() ; add one vector without rebuilding the whole index. - 🦀 Real HNSW, in Rust — a hand-rolled Hierarchical Navigable Small World graph, the same algorithm behind Pinecone, Weaviate, and Qdrant — not brute force. - 🪶 Featherweight & shim-free — serde + postcard are the only dependencies; the WASM core is 33 KB gzipped, with ","default_branch":null,"files":null,"tree":[],"storefront":"/r/singhpratech","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/singhpratech/ferrovec/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}