How ashishch01/meeting-recorder-bot works
MeetIQ records Google Meet and Zoom calls, then turns recordings into searchable transcripts, summaries, action items, and chat. The main workflow runs from a user meeting request through backend dispatch and bot recording, upload, transcription, and frontend review. Calendar scheduling, AI chat, billing, and recorder-pool management are distinct capabilities. The README documents the end-to-end flow; sampled source confirms webhook handoff, transcript indexing, chat tools, and bot recording details, but not every connection shown for unsampled subsystems.
Main entry points: models.py Meeting and chunk data · App.jsx MeetIQ frontend · webhooks.py Recording webhook · transcription_service.py Transcription and analysis
Components 30
User application
- MeetIQ frontend
frontend/src/App.jsx - Transcript and meeting view
frontend/src/pages/MeetingView.jsx
Meeting orchestration
- Meeting API
backend/app/api/meetings.py - Bot dispatch
backend/app/services/bot_dispatch.py - Calendar scheduler
backend/app/services/scheduler.py - Calendar API
backend/app/api/calendar.py - Recording webhook
backend/app/api/webhooks.py - Background worker
backend/app/worker.py
Recorder hosts
- Recorder host API
meeting-bot/src/api/server.js - Meeting lifecycle
meeting-bot/src/core/MeetingLifecycle.js - Meet and Zoom bots
meeting-bot/src/platforms - Audio recorder
meeting-bot/src/recording/Recorder.js - Recording uploader
meeting-bot/src/storage/SupabaseUploader.js
Transcript and AI
- Transcription and analysis
backend/app/services/transcription_service.py - Transcript indexing
backend/app/services/embedding_service.py - PDF export
backend/app/services/pdf_service.py - Meeting chat API
backend/app/api/chat.py - RAG chat agent
backend/app/rag/chat_service.py - Transcript search tools
backend/app/rag/tools.py - Ask AI API
backend/app/api/ask.py - Ask AI agent
backend/app/ask_ai/agent/service.py
Platform services
- Meeting and chunk data
backend/app/db/models.py - Billing API
backend/app/api/billing.py - Subscription lifecycle
backend/app/billing/service.py - Supabase database and storage
Other components
- Meeting user
- Google Calendar
- Google Meet and Zoom
- Gemini AI
- Razorpay
Connections 41
- Meeting user → MeetIQ frontend: requests meetings
- MeetIQ frontend → Meeting API: creates meetings
- Meeting API → Meeting and chunk data: creates meeting rows
- Meeting API → Bot dispatch: dispatches recording
- Bot dispatch → Recorder host API: selects and calls host
- Recorder host API → Meeting lifecycle: runs lifecycle
- Meeting lifecycle → Meet and Zoom bots: joins platform
- Meet and Zoom bots → Google Meet and Zoom: joins call
- Meeting lifecycle → Audio recorder: records audio
- Meeting lifecycle → Recording uploader: uploads recording
- Recording uploader → Supabase database and storage: stores recording
- Recorder host API → Recording webhook: reports completion
- Recording webhook → Supabase database and storage: signs recording URL
- Recording webhook → Meeting and chunk data: updates meeting status
- Recording webhook → Background worker: submits transcription
- Recording webhook → Transcription and analysis: submits transcription
- Background worker → Transcription and analysis: runs queued jobs
- Transcription and analysis → Gemini AI: transcribes and analyses
- Transcription and analysis → Transcript indexing: indexes transcript
- Transcript indexing → Gemini AI: embeds text
- Transcript indexing → Meeting and chunk data: writes chunks
- Transcription and analysis → Meeting and chunk data: saves results
- MeetIQ frontend → Transcript and meeting view: opens meeting
- Transcript and meeting view → Meeting API: loads meeting data
- Transcript and meeting view → PDF export: requests PDF export
- Transcript and meeting view → Meeting chat API: asks meeting questions
- Meeting chat API → RAG chat agent: starts chat turn
- RAG chat agent → Transcript search tools: dispatches search tools
- Transcript search tools → Meeting and chunk data: searches transcript
- RAG chat agent → Gemini AI: runs agent
- MeetIQ frontend → Ask AI API: uses Ask AI
- Ask AI API → Ask AI agent: starts Ask AI turn
- Ask AI agent → Meeting and chunk data: uses meeting data
- Meeting user → Calendar API: connects calendar
- Calendar API → Google Calendar: reads calendar events
- Calendar scheduler → Google Calendar: checks scheduled events
- Calendar scheduler → Meeting API: schedules meetings
- MeetIQ frontend → Billing API: manages subscription
- Billing API → Subscription lifecycle: handles billing
- Subscription lifecycle → Razorpay: creates payment orders
- Subscription lifecycle → Meeting and chunk data: updates subscription data