Head to head
Stop guessing which one. Put them side by side.
Up to 4 tools, same rows for each: what it is, what it really costs, the trap, and how to wire it up. The URL carries your picks — send it to anyone.
Upstash VectorFuse.jsMiniSearch
Quick read
- Free with no card: Fuse.js, MiniSearch.
| Field | Upstash Vectorupstash.com | Fuse.jsfusejs.io | MiniSearchgithub.com |
|---|---|---|---|
| What it is | An HTTP-first vector database billed per request, with no cluster to provision and true scale-to-zero. Because it speaks REST rather than a persistent socket, it works from edge runtimes and serverless functions where connection pooling is painful. Hosted embedding models let you upsert raw text. | A zero-dependency fuzzy-search library using the Bitap algorithm — roughly 6.8kB gzipped for the basic build, 8.6kB for the full one. Searches arrays of JS objects in memory with typo tolerance, field weighting, nested keys and extended query operators. Runs in browsers, Node and Deno. | A dependency-free JavaScript full-text search engine that builds a real inverted index in memory, in the browser or in Node. Supports prefix search, fuzzy matching, field boosting, modern relevance ranking, auto-suggestion, and adding or removing documents at any time. The index serializes to JSON so it can be prebuilt. |
| Category | Search, vector & RAG | Search, vector & RAG | Search, vector & RAG |
| Cost tier | mixed | free | free |
| Pricing | Free: 10K queries/updates per day, 1GB storage, 1,536 max dimensions, 100 namespaces. Pay-as-you-go $0.40 per 100K requests + $0.25/GB storage, 50GB cap. Fixed $60/mo for 1M requests/day. Enterprise custom. | Free, Apache-2.0. No service, no account, no limits, no bill. | Free, MIT-licensed. No service or account. |
| Why builders pick it | The right shape for a hobby project that sits idle for weeks — you pay nothing while nothing happens. Calls work directly from Cloudflare Workers and Vercel Edge functions. | When a few hundred to a few thousand items already sit in your app state — a command palette, a settings list, a filterable table — this is ten lines of code and no infrastructure. | The step up from Fuse.js when you have tens of thousands of records — a proper index instead of rescoring every item per keystroke, still with no backend and no bill. |
| Watch out for | The free tier caps vectors at 1,536 dimensions, so larger embedding models force a paid plan. Per-request billing punishes chatty multi-query retrieval loops. | It scores every item on every keystroke, so it degrades noticeably past roughly 10K records. Use MiniSearch or a real index above that. | The whole index ships to the client, so a large corpus means a large download. Prebuild and cache the serialized JSON rather than indexing on every page load. |
| How to wire it up | npm i @upstash/vector | npm i fuse.js | npm i minisearch |
| Editor's pick | No | No | No |
Which one did you ship?
The grid says what these tools are. This says what builders did about it — one decision per person, changeable whenever you change your mind.
0/280Sign in to add yours.
Or try
Hand this to your Lovable agent
# Tool comparison — Upstash Vector vs Fuse.js vs MiniSearch Source: Kbaise, a directory of tools that work with Lovable projects. Pick one and tell me why before writing any integration code. ## Upstash Vector (upstash-vector) - URL: https://upstash.com/docs/vector - Category: Search, vector & RAG - Cost: mixed — Free: 10K queries/updates per day, 1GB storage, 1,536 max dimensions, 100 namespaces. Pay-as-you-go $0.40 per 100K requests + $0.25/GB storage, 50GB cap. Fixed $60/mo for 1M requests/day. Enterprise custom. - What it is: An HTTP-first vector database billed per request, with no cluster to provision and true scale-to-zero. Because it speaks REST rather than a persistent socket, it works from edge runtimes and serverless functions where connection pooling is painful. Hosted embedding models let you upsert raw text. - Why builders pick it: The right shape for a hobby project that sits idle for weeks — you pay nothing while nothing happens. Calls work directly from Cloudflare Workers and Vercel Edge functions. - Trap: The free tier caps vectors at 1,536 dimensions, so larger embedding models force a paid plan. Per-request billing punishes chatty multi-query retrieval loops. - Wiring: npm i @upstash/vector - Full dossier: /api/public/tools/upstash-vector ## Fuse.js (fuse-js) - URL: https://www.fusejs.io - Category: Search, vector & RAG - Cost: free — Free, Apache-2.0. No service, no account, no limits, no bill. - What it is: A zero-dependency fuzzy-search library using the Bitap algorithm — roughly 6.8kB gzipped for the basic build, 8.6kB for the full one. Searches arrays of JS objects in memory with typo tolerance, field weighting, nested keys and extended query operators. Runs in browsers, Node and Deno. - Why builders pick it: When a few hundred to a few thousand items already sit in your app state — a command palette, a settings list, a filterable table — this is ten lines of code and no infrastructure. - Trap: It scores every item on every keystroke, so it degrades noticeably past roughly 10K records. Use MiniSearch or a real index above that. - Wiring: npm i fuse.js - Full dossier: /api/public/tools/fuse-js ## MiniSearch (minisearch) - URL: https://github.com/lucaong/minisearch - Category: Search, vector & RAG - Cost: free — Free, MIT-licensed. No service or account. - What it is: A dependency-free JavaScript full-text search engine that builds a real inverted index in memory, in the browser or in Node. Supports prefix search, fuzzy matching, field boosting, modern relevance ranking, auto-suggestion, and adding or removing documents at any time. The index serializes to JSON so it can be prebuilt. - Why builders pick it: The step up from Fuse.js when you have tens of thousands of records — a proper index instead of rescoring every item per keystroke, still with no backend and no bill. - Trap: The whole index ships to the client, so a large corpus means a large download. Prebuild and cache the serialized JSON rather than indexing on every page load. - Wiring: npm i minisearch - Full dossier: /api/public/tools/minisearch ## Quick read - Free with no card: Fuse.js, MiniSearch. ## Rules 1. Prefer the free tier when no budget was stated, and say what the ceiling is. 2. Read the full dossier before integrating. 3. Fetch /api/public/models before writing any AI model ID.
Agents can fetch the same thing: GET /api/public/compare?slugs=upstash-vector,fuse-js,minisearch