finds.dev← search

// the find

Stevenic/vectra

★ 633 · TypeScript · MIT · updated Jul 2026

Vectra is a local vector database for Node.js with features similar to pinecone but built using local files.

Vectra is a file-backed, in-memory vector database for Node.js/TypeScript aimed at local-first RAG and embedding search without standing up Pinecone or a real vector DB. It's for developers who want a drop-in local index for prototypes, small-to-medium document stores, or apps that need to ship without an external vector DB dependency.

No external service to run — an index is just a folder on disk, which makes local dev and small deployments trivial. Embeddings are pluggable, including local HuggingFace models via TransformersEmbeddings, so it can run fully offline with no API key. Test coverage looks genuinely solid, with a .spec.ts alongside nearly every source file plus CI and a coverage badge. The gRPC server with generated client bindings for six languages is a real feature, not just a Node toy, if cross-language access is a requirement.

Similarity search is explicitly brute-force cosine ranking, not an ANN index (no HNSW/IVF) — the docs admit sub-millisecond latency is only 'for small indexes,' so query time will degrade linearly as an index grows, and there's no clear guidance on where that ceiling is. Feature surface has grown large for a project centered on being simple and local — browser/IndexedDB support, protobuf codec, gRPC server, and codegen for six language clients is a lot to keep correct with what looks like a small maintainer base. No visible story for concurrent multi-process writes to the same folder-based index, which matters if more than one process touches the same store. Being file-backed and in-memory means it's not a fit past the prototype/small-app stage — there's no path to horizontal scale without switching to something else later.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →