AI-powered meeting intelligence platform. CogniMeet brings intelligent agents into your video meetings — they listen, take notes, extract action items, search the web, and generate insights automatically.
- Live Video Calls — Stream Video-powered meetings with auto-transcription, recording, and closed captions
- AI Coworkers — Create custom agents with specific personas (Scrum Master, Product Manager, Tech Architect, etc.)
- Post-Meeting AI Analysis — Auto-generated summaries, action items, key decisions, topics, and productivity scores
- Post-Meeting Chat — Continue talking with your AI agent about the meeting with full context
- Web Search — Tavily-powered search during chat for real-time fact-checking
- LLM Fallback Chain — Groq (primary) → OpenRouter (fallback) → HuggingFace (final fallback) for zero downtime
- Premium Tier — Polar-powered subscriptions with free tier limits (5 meetings, 3 agents)
- Dashboard — Stats, recent meetings, productivity scoring, and command palette (Cmd+K)
| Layer | Technology |
|---|---|
| Framework | Next.js 15 (App Router) |
| Language | TypeScript 5 |
| Styling | Tailwind CSS 4 |
| Auth | Clerk |
| Database | PostgreSQL (Neon serverless) |
| ORM | Drizzle |
| API | tRPC |
| Video | Stream Video SDK |
| Chat | Stream Chat SDK |
| Background Jobs | Inngest |
| AI (Primary) | Groq (Llama 3.3 70B) |
| AI (Fallback 1) | OpenRouter |
| AI (Fallback 2) | HuggingFace Inference |
| Web Search | Tavily |
| Payments | Polar |
| UI Components | shadcn/ui + Radix |
git clone https://github.com/devhimanshuu/CogniMeet.ai.git
cd CogniMeet.ai
npm install --legacy-peer-depscp .env.example .envFill in all values in .env. See Environment Variables for details.
npm run db:pushCogniMeet uses webhooks from Stream Video and Clerk. For local development, expose your local server with ngrok:
npm run dev:webhookConfigure webhook URLs in:
- Stream Dashboard →
https://your-ngrok-url/api/webhook - Clerk Dashboard →
https://your-ngrok-url/api/webhook/clerk
npm run devOpen http://localhost:3000.
| Variable | Description | Required |
|---|---|---|
DATABASE_URL |
Neon PostgreSQL connection string | Yes |
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY |
Clerk publishable key | Yes |
CLERK_SECRET_KEY |
Clerk secret key | Yes |
CLERK_WEBHOOK_SECRET |
Clerk webhook signing secret | Yes |
NEXT_PUBLIC_APP_URL |
App URL (change for production) | Yes |
NEXT_PUBLIC_STREAM_VIDEO_API_KEY |
Stream Video API key | Yes |
STREAM_VIDEO_SECRET_KEY |
Stream Video secret | Yes |
NEXT_PUBLIC_STREAM_CHAT_API_KEY |
Stream Chat API key | Yes |
STREAM_CHAT_SECRET_KEY |
Stream Chat secret | Yes |
GROQ_API_KEY |
Groq API key (primary LLM) | Yes |
OPENROUTER_API_KEY |
OpenRouter API key (fallback LLM) | Yes |
HUGGINGFACE_API_KEY |
HuggingFace API key (final fallback) | Yes |
TAVILY_API_KEY |
Tavily web search API key | Yes |
ELEVENLABS_API_KEY |
ElevenLabs API key (reserved for voice) | No |
POLAR_ACCESS_TOKEN |
Polar subscription management token | Yes |
| Command | Description |
|---|---|
npm run dev |
Start development server |
npm run build |
Production build |
npm run start |
Start production server |
npm run lint |
Run ESLint |
npm run db:push |
Push schema to database |
npm run db:studio |
Open Drizzle Studio GUI |
src/
├── app/ # Next.js App Router pages
│ ├── (auth)/ # Sign-in / sign-up pages
│ ├── (dashboard)/ # Dashboard, agents, meetings, upgrade
│ ├── call/ # Live video call view
│ └── api/ # tRPC handler, webhooks, Inngest
├── modules/ # Feature modules
│ ├── agents/ # Agent CRUD, presets, UI
│ ├── meetings/ # Meeting CRUD, transcript, chat, UI
│ ├── premium/ # Subscription management
│ ├── dashboard/ # Dashboard stats, sidebar, navbar
│ ├── call/ # Video call provider and UI
│ └── landing/ # Landing page sections
├── components/ # Shared UI components (shadcn/ui)
├── db/ # Drizzle schema and client
├── trpc/ # tRPC init, client, routers
├── inngest/ # Background job definitions
├── lib/ # SDK clients (Stream, Polar, AI, Tavily)
└── hooks/ # Shared React hooks
- Create an Agent — Choose from 6 presets or write custom instructions
- Schedule a Meeting — Creates a Stream Video call with auto-transcription and recording enabled
- Join the Call — The agent joins as a participant; Stream handles transcription
- Webhooks Process Events — Call start/end, participant changes, transcription ready, recording ready
- AI Analysis (Inngest) — When transcription is ready, Inngest fetches it, runs it through the LLM fallback chain, and extracts summary, action items, key decisions, topics, and a productivity score
- Post-Meeting Chat — Chat with the agent about the meeting; it has full context and can search the web via Tavily
The app is ready to deploy on Vercel:
- Push to GitHub
- Import in Vercel
- Set all environment variables (update
NEXT_PUBLIC_APP_URLto your production domain) - Update webhook URLs in Stream and Clerk dashboards to point to your production domain
MIT