MeetIQ: Meeting Recorder Bot
An automated bot that joins Google Meet and Zoom calls, records audio, and provides searchable transcripts, summaries, and an AI chat interface.
MeetIQ is an automated meeting recording system designed to eliminate the need for manual note-taking. It deploys an automated bot into your Google Meet or Zoom calls to record the audio, then automatically generates a searchable summary, action items, and a RAG-powered chat interface to interact with the meeting content.
Architecture
The system is built on a robust, multi-container microservices architecture:
- Frontend (React + Vite): The user interface where you can schedule meetings, view transcripts, and chat with the AI about past meetings.
- Backend (FastAPI): Handles authentication (via Supabase JWTs), meeting orchestration, database operations, and serves the Gemini-powered RAG chat agent.
- Worker (Arq + Redis): A background worker for processing audio transcriptions and managing the bot-dispatch queues asynchronously.
- Recorder Hosts (Node.js + Playwright): Real, headless Chrome instances running on Xvfb virtual displays. They physically join the meeting, wait for admission, and capture audio using PulseAudio and FFmpeg.
The Recording & AI Flow
- Scheduling: Users paste a meeting URL or pick an event from an integrated Google Calendar.
- Dispatch & Recording: The backend selects an available recorder host. The bot launches Chrome, signs into the platform, joins the call, and records the audio, uploading the final file to Supabase Storage.
- Processing: Once recorded, the audio is sent to the worker queue. The system uses Google Gemini to transcribe and analyze the audio—extracting summaries, key points, and per-speaker timestamps.
- Vector Search: The transcript is chunked, embedded, and indexed in Supabase's
pgvector, making it fully searchable and chat-ready.
Resilient AI Fallbacks
To ensure high availability and prevent rate-limiting failures, the AI pipeline features automatic fallbacks:
- Transcription: Primary: Gemini → Fallback: Sarvam
- Embeddings: Primary: Gemini → Fallback: Jina
- Chat/Reasoning: Primary: Gemini → Fallback: Groq (using tool-calling models)
Additionally, the platform meticulously tracks every AI call in an ai_usage_events table, giving full visibility into token usage, processing time, and estimated API costs.