All projects
Case Study — 001

Rika

Shipped

An AI meeting notetaker that joins your calls, remembers everything, and answers questions with receipts.

3
Meeting platforms
768
Embedding dims
3
Export formats
4 shipped
Delivery phases
// Overview

Paste a meeting link, or connect a calendar, and Rika joins Zoom, Google Meet, or Microsoft Teams via Recall.ai. She records audio and video, captures speaker-attributed transcripts, and turns every meeting into a searchable, queryable knowledge base.

After the call, a webhook-driven pipeline chunks the transcript by speaker turn, generates embeddings, and powers a RAG chat with citations, plus live in-call Q&A through @Rika mentions in the meeting chat. When the bot leaves, meeting intelligence (summary, action items, timestamped highlights) generates automatically.

// Key Features
01

Joins any call

Zoom, Google Meet, and Microsoft Teams via Recall.ai. Paste a link for an instant bot, or auto-record from connected Google/Outlook calendars.

02

Live in-call answers

Participants message @Rika in the meeting chat and get answers grounded in the transcript while the meeting is still happening.

03

Cited RAG chat

Category-scoped retrieval with query classification that skips unnecessary lookups. Responses stream with inline citations through the Vercel AI SDK.

04

Meeting intelligence

Summaries, action items, and timestamped highlights generate automatically when the call ends. Regenerable on demand.

05

Multi-tenant by design

Clerk authentication, resource-level ownership checks on every route, and Upstash rate limiting keep it safe for multiple users.

06

Exports

Download any transcript as TXT, SRT, or a formatted PDF from the meeting workspace.

// How It Works
  1. 01

    A Recall.ai bot joins the meeting and streams lifecycle events to a webhook endpoint

  2. 02

    On completion, the transcript is chunked by speaker turn for attribution

  3. 03

    768-dimensional Gemini embeddings are generated per chunk

  4. 04

    Vectors are upserted into Qdrant; metadata persists to Neon Postgres via Drizzle, failure-safe and reprocessable

  5. 05

    At query time: classify intent → retrieve → stream a cited answer

// Stack
Next.js 16TypeScriptRecall.aiQdrantDrizzle ORMNeon PostgresDeepSeekGemini EmbeddingsVercel AI SDKClerkUpstashTailwind CSS 4