Find Anything You Saved — Even When You Forgot The Words
April 24, 2026 · 5 min
Find Anything You Saved — Even When You Forgot The Words
You saved it three months ago. You remember it was about React data fetching, or maybe just that it made you rethink how you were using useEffect. You search for "useEffect" and get two results — the cleanup pattern article and a comparison post. Neither is what you wanted.
This is the failure mode of keyword search. It only finds what matches the title. Semantic search bookmarks by meaning, not by words. SaveSync's Pro tier does the second kind, and the difference in recall is significant: in our own testing, queries like the one above return 8–12 relevant results instead of 2.
This post covers how both modes work, when each is the right tool, and five concrete queries that only semantic search can handle.
The showdown
Keyword search is fast and precise when you remember the exact words. Type "react hooks" and you get every bookmark with those words in the title or URL. Zero ambiguity, sub-100ms.
AI bookmark search (Pro) works differently. SaveSync indexes the full text of every page you save, converts it to a vector embedding, and stores it in Postgres via pgvector. When you query, SaveSync embeds your query the same way and runs a nearest-neighbor search across your Vault. The results are conceptually related articles — even if none of them contain the words you typed.
See it happen
React Server Components deep dive
…avoids useEffect roundtrips by rendering on server…
Suspense for data fetching
…replaces useEffect with declarative loading boundaries…
TanStack Query handbook
…caches and dedupes requests without manual useEffect…
Next.js 15 app router data
…the preferred pattern for server-side data flow…
SWR revalidation strategies
…stale-while-revalidate eliminates useEffect entirely…
React compiler output
…the compiler memoizes derived state without useEffect…
useSyncExternalStore guide
…third-party store bindings that replace useEffect…
Jotai vs Zustand vs Redux
…state libs that reduce the need for useEffect wiring…
Type "useEffect" — keyword finds 2 · Switch to semantic — AI finds 8 conceptually related
What semantic search actually does
When you enable Pro, SaveSync runs a background job that processes every saved page through an embedding model. The model converts each page's text into a vector — a list of ~1,500 numbers that represents its meaning in high-dimensional space. Those vectors are stored in a pgvector column alongside your bookmark rows.
At query time, your search text goes through the same embedding model. SaveSync then runs a cosine similarity search across all stored vectors, returning the bookmarks whose meaning is closest to your query's meaning. It doesn't care if the words match. It cares if the ideas match.
The practical result: a query like "framework for thinking about pricing strategy" finds articles about value-based pricing, SaaS pricing tiers, and willingness-to-pay research — none of which contain the word "framework." Natural language bookmark search works because you're not matching strings, you're matching concepts.
New saves get indexed automatically within 60 seconds of saving. Existing bookmarks are indexed in a one-time background batch when you upgrade. If you have 2,000 bookmarks, indexing completes in 3–4 minutes.
You can learn more about how SaveSync handles the saving side in save-from-anywhere — the extension is how most of this content enters your Vault in the first place.
Five queries that only work with semantic search
These are real query patterns from SaveSync users. Keyword search returns zero or two results for each. Semantic returns 6–12.
-
"the thing about rate limiting that guy wrote" — finds the specific post, even without an author name or the words "rate limiting" in the title. The body text carries the signal.
-
"framework for figuring out pricing" — finds pricing strategy essays, willingness-to-pay research, and SaaS monetization posts. None contain the word "framework."
-
"that diagram showing how React renders" — finds visual content and explainers about the React reconciler, even though most of them are text articles that happen to include the word "diagram" or "illustration."
-
"explaining why useEffect is bad" — finds opinion pieces arguing for Server Components, TanStack Query, and state machines, even if the authors never used the word "bad." The sentiment is encoded in the embedding.
-
"something about Apple's color philosophy" — finds design essays referencing Apple's use of color, material design critiques, and HIG summaries. Cross-domain match with no obvious keyword anchor.
This section is why bookmark discovery becomes genuinely useful at scale. When you have 500 bookmarks, keyword search works fine. At 2,000, you've forgotten the titles of most of what you saved. Semantic search is the only way back to it.
Keyword search is still the right tool when
Don't overestimate AI search. Keyword beats semantic in several real cases:
- You know the exact title or URL you're looking for. Keyword is deterministic; semantic is probabilistic.
- You're searching for a platform: "all my Reddit saves." Sidebar filter handles this faster than any query.
- You're looking for something you saved today. Recency filter + quick scan beats any search mode.
- You want a specific person's name — "Paul Graham." Keyword finds exact matches; semantic might surface related authors.
The toggle lives in the palette footer. You can switch mid-query without retyping. Start semantic, narrow with keyword. Or start keyword and switch when the results disappoint.
Platform and folder filters
The ⌘ K palette pairs with the sidebar for structured navigation. Platform filters (YouTube, X, Reddit, Web, Instagram) narrow the result set before the query runs. Folder scoping works the same way — search within "Reading list" only, or across your entire Vault.
The practical pattern: open the palette with ⌘K, switch to AI mode, type a conceptual query, then narrow by folder or platform if the result set is too broad. You're rarely more than two steps from what you want.
For how to build a folder structure that makes these filters useful, see organize-your-vault.
Privacy note
Your search queries and your bookmark content never leave your Supabase instance. SaveSync does not call any external AI model with your personal query or your saved pages. Embeddings are generated server-side using a self-hosted model in your Supabase environment. There is no telemetry on what you search, no behavioral profiling, no third-party AI vendor receiving your data.
The vector store lives in your own Postgres database. If you delete a bookmark, its embedding is deleted too.
When semantic search is worth it
Free tier includes keyword search, platform filters, and folder scoping. That is enough for most people with fewer than 300–400 bookmarks. The mental model is still simple enough that you roughly remember what you've saved.
Semantic search becomes load-bearing at scale. If you've been saving for 12+ months, or you're an active reader who saves 5–10 things per day, you've almost certainly lost meaningful content to the search problem. That's when the Pro upgrade pays for itself.
See upgrade-to-pro for the full feature comparison and pricing.
TIP
Press ⌘ K anywhere in the Vault to open search. The mode toggle (keyword / AI) lives in the palette footer — switch mid-query without retyping.