🤖 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_idset via a SQLAlchemy event hook, so the database itself rejects cross-tenant reads even if an applicationWHEREclause 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.