Skip to content

← All projects·03 / 10

AI System

Meeting-RAG.

A CLI that turns Google Meet transcripts into a semantically-searchable knowledge base for Claude.

Role

Designer & engineer.

Timeline

2025

Stack

Node.js · SQLite + vector search · Google Apps Script (capture) · Embeddings

Status

Delivered

Illustrative — a meeting in progress; the transcripts this tool indexes.

[ The transformation ]

Before

Requirements explained in meetings got lost — work was later done from compressed summaries, and the exact words weren’t retrievable. Client and internal calls were also mixed together with no safe boundary.

After

The exact words from any meeting become queryable, and client material is separated by design.

[ The hard problem ]

Client recordings must never leak into general search results — the safety has to be a property of the data itself, not of anyone remembering a rule. Plus semantic search over unstructured meeting transcripts with speaker attribution.

[ How it works ]

I built a Node CLI that ingests transcripts, parses speaker/timestamp turns, stores them with embeddings in SQLite for semantic search, and returns exact quotes + timestamps. The capture layer uses a two-gate classifier (who appears in the transcript AND who was invited) that fails closed — so a client recording can never leak; the safety is a property of the data, not of anyone remembering a rule.

[ Key features ]

01

Transcript ingestion with speaker/timestamp turn parsing

02

SQLite vector storage with semantic embeddings for natural-language search

03

Two-gate classifier for client/internal separation (who appeared AND who was invited)

04

Fails closed — a client recording can never appear in a non-client search

05

Exact quote retrieval with timestamps, not summaries

06

Google Apps Script capture layer for automated ingestion

[ The result ]

Outcome

The exact words from any meeting become queryable, and client material is separated by design — not by policy.

Delivered 2025

Tech stack

Node.jsSQLite + vector searchGoogle Apps Script (capture)Embeddings

Want the same for yours? Let's talk.

Start a project ↗