Briefly is an autonomous AI agent designed to live inside your meetings. It doesn't just record; it participates.
- 👻 Silent Observer: Spawns a bot that seamlessly joins your Zoom, Google Meet, or Teams calls.
- 🎥 Intelligent Recording: Captures high-quality audio and video without disrupting the flow.
- 🧠 Active Participant: Capable of answering questions directly within the meeting context (coming soon).
- 📝 Auto-Transcription: Generates speaker-diarized transcripts and summaries instantly.
Briefly follows an event-driven, serverless architecture to ensure scalability and real-time responsiveness.
graph TD
Client[🖥️ Next.js Client] -->|Create Bot| API[⚡ API Routes]
API -->|Spawn| Recall[🤖 Recall.ai Platform]
subgraph Meeting Environment
Recall -->|Joins| Zoom[Zoom/Meet/Teams]
Zoom -->|Audio/Video| Recall
end
Recall -->|Webhook Events| Webhook[🪝 Webhook Handler]
Webhook -->|Update Status| DB[(🗄️ Supabase DB)]
DB -->|Real-time Sub| Client
subgraph AI Processing
Recall -->|Raw Media| Transcriber[📝 Transcription Engine]
Transcriber -->|Text| DB
end
- Bot Orchestrator (
/app/api/create-bot): Handles the initialization and configuration of meeting bots. - Event Bus (
/app/api/webhook): A robust webhook listener that processes real-time events from the bot (joined, left, recording_started). - Data Layer (Supabase): Stores bot states, transcripts, and meeting metadata with real-time subscriptions enabled for the frontend.
- Frontend (Next.js + Tailwind): A modern, dark-themed dashboard for managing bots and viewing insights.
- Node.js 18+
- Supabase Account
- Recall.ai API Key
-
Clone the repository
git clone https://github.com/yourusername/briefly.git cd briefly -
Install dependencies
npm install
-
Environment Setup Create a
.env.localfile:NEXT_PUBLIC_SUPABASE_URL=your_sb_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_sb_key RECALL_AI_API_TOKEN=your_recall_token
-
Run Development Server
npm run dev
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/create-bot |
Spawns a new bot instance into a meeting URL. |
GET |
/api/fetch-bot |
Retrieves current status and recording links. |
POST |
/api/webhook |
Receives async events from the bot infrastructure. |
Built with ❤️ by Samarth Ghante