Hapi

Semantic Search for Meetings: Find Calls by Meaning, On-Device

Semantic search finds your past meetings by meaning, not just exact words — and Hapi does it entirely on your Mac. How it works, why it beats keyword search, and how to turn it on.

3 min read·Meetings

You remember the conversation. You just can't remember which meeting it was in — or the exact words anyone used. Keyword search is no help here: if you search "budget" but the team actually talked about "cutting costs" and "runway," you get nothing.

That's the gap semantic search closes. It finds your meetings by meaning, not by matching exact words. And in Hapi, it runs entirely on your Mac.

Keyword search vs. semantic search

Traditional search is literal. It scans transcripts for the characters you typed and returns the ones that contain them. Miss the exact phrasing and you miss the meeting.

Semantic search works differently. It understands that "growing the team," "making some hires," and "headcount plan" are all the same idea. Type any one of them and it surfaces the call where you discussed the others.

  • Keyword search — fast, exact, and brittle. Great when you remember the precise term.
  • Semantic search — matches concepts. Great when you remember the gist but not the words.

Hapi runs both at the same time, so you get exact matches and meaning-based matches in one place.

How semantic search works

Under the hood, semantic search turns text into numbers. When you enable it, Hapi creates a small mathematical fingerprint — called an embedding — of each meeting and voice note using a compact local model (GTE-Small, about 70 MB).

Your search query gets the same treatment. Hapi then ranks every meeting by how close its meaning is to your query, rather than by how many keywords overlap. Closer meaning, higher ranking.

Because embeddings capture concepts, this also powers cross-meeting connections: Hapi can surface related discussions scattered across months of calls, not just hits inside a single transcript.

Why on-device matters

Most "AI search" features ship your data to a server to be embedded and indexed. Hapi doesn't.

Everything — the transcription, the speaker detection, and the embeddings behind semantic search — happens locally on your Mac. The embedding model runs offline after a one-time download, and the vectors are stored on disk alongside your transcripts. No text, no audio, and no vectors are sent anywhere.

That's the whole point of a local-first second brain: the more it knows about your conversations, the more important it is that none of it leaves your machine.

Turning it on

Semantic search is optional. To enable it:

  1. Open Hapi's Settings and find Semantic Search.
  2. Hapi downloads the embedding model once (~70 MB, ~200 MB RAM while indexing).
  3. It backfills your existing meetings in the background and indexes new recordings automatically as they finish.

From then on, search just gets smarter — you keep searching the way you always have, and Hapi quietly adds meaning-based results on top.

The payoff

Your meeting history is only useful if you can get back to the right moment. Keyword search assumes you remember the words. Semantic search only asks that you remember the idea — and keeps every byte of that history on your Mac.

Related