← BACK TO LEVEL SELECT

🤖 Agentic AI · ★★★ FEATURED

Meeting Intelligence Platform

A self-hosted meeting notetaker — a bot joins your calls, records and diarizes them, and ships AI summaries, with database-level tenant isolation and a usage-metered credit ledger.

Overview

A meeting-intelligence platform that does the boring part of every call for you: a bot quietly joins the meeting, records it, figures out who said what, and turns it into a clean summary, action items, and a searchable transcript you can ask questions of later. Built to run multi-tenant from a single deployment, with billing and isolation taken seriously from day one.

Architecture

flowchart LR
  A["Calendar<br/>push webhook"] --> B["Scheduler<br/>join T-90s"]
  B --> C["Bot worker<br/>headless Chromium<br/>audio capture"]
  C --> D{"Admitted?"}
  D -->|"no"| E["Mark empty / retry"]
  D -->|"yes"| F["Record → object store"]
  F --> G["Silence gate →<br/>STT + diarization"]
  G --> H["2-pass LLM analysis<br/>+ vector embeds"]
  H --> I["Dashboard<br/>RLS per-tenant + credit ledger"]

Engineering decisions

  • Tenancy enforced at the database — Postgres Row-Level Security with a per-request app.current_user_id set via a SQLAlchemy event hook, so the database itself rejects cross-tenant reads even if an application WHERE clause is ever forgotten. Defense in depth across 18 versioned migrations.
  • A real capture pipeline, not an API wrapper — the bot joins ~90s early off calendar webhooks, captures audio through headless Chromium under a virtual display + null-sink, scrapes the participant roster to attach real names to diarized turns, then runs a silence gate → speaker-diarized STT → a two-pass Pydantic-AI analysis (high-recall extraction, then narrative minutes) → pgvector embeddings for per-meeting Q&A.
  • Metered billing as a ledger — every paid LLM/STT/embedding call is recorded on an idempotent usage-events cost ledger, with per-user model routing and an admin cost dashboard.

Highlights

  • Production ops — a RAM-bound concurrency cap that defers rather than drops recordings under load, full Terraform IaC (compute / storage / IAM / network), and one-shot deploys.
  • Searchable memory — pgvector embeddings turn every meeting into a Q&A surface.
  • Self-hosted + MIT — runs on your own infrastructure; no third-party recorder in the loop.