Meet smarter, capture insights.
Smart Meet is an AI-powered meeting platform that records, transcribes, and summarizes your meetings in real-time. Leverage intelligent AI agents to triage action items, generate highlights, and extract meaningful insights from every conversation.
- πΉ Video Meetings - High-quality video calls with recording capabilities
- ποΈ Real-time Transcription - Accurate, searchable transcripts for every meeting
- π€ AI Agents - Automated note-taking, action item extraction, and intelligent summaries
- π¬ Chat & Collaboration - In-meeting chat with context-aware messaging
- π Analytics & Insights - Track meeting metrics and team productivity
- π Secure & Private - End-to-end encryption and enterprise-grade security
- π¨ Beautiful UI - Modern, responsive interface built with Next.js 15 and Tailwind CSS
- Next.js 15 - React framework with App Router
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first styling
- Drizzle ORM - Type-safe database toolkit
- Neon Database - Serverless Postgres
- Stream Video SDK - Real-time video infrastructure
- Stream Chat - In-app chat functionality
- OpenAI Realtime API - Real-time AI transcription
- tRPC - End-to-end typesafe APIs
- TanStack Query - Powerful data synchronization
- Zod - TypeScript-first schema validation
- Better Auth - Modern authentication solution
- Polar - Subscription and billing management
- Radix UI - Unstyled, accessible components
- Lucide Icons - Beautiful icon library
- shadcn/ui - Re-usable component patterns
Before you begin, ensure you have the following installed:
- Node.js (v20 or higher)
- npm or yarn or pnpm
- PostgreSQL database (or use Neon for serverless Postgres)
You'll also need API keys for:
- Stream (Video & Chat)
- OpenAI
- Polar (for payments)
- Inngest (for workflows)
git clone https://github.com/supritR21/Smart-Meet.git
cd Smart-Meetnpm installCreate a .env file in the root directory:
# Database
DATABASE_URL="your_neon_postgres_url"
# Better Auth
BETTER_AUTH_SECRET="your_secret_key"
BETTER_AUTH_URL="http://localhost:3000"
# Stream
STREAM_API_KEY="your_stream_api_key"
STREAM_API_SECRET="your_stream_api_secret"
# OpenAI
OPENAI_API_KEY="your_openai_api_key"
# Polar (Payments)
POLAR_ACCESS_TOKEN="your_polar_access_token"
# Inngest
INNGEST_EVENT_KEY="your_inngest_event_key"
INNGEST_SIGNING_KEY="your_inngest_signing_key"
# OAuth Providers (optional)
GITHUB_CLIENT_ID="your_github_client_id"
GITHUB_CLIENT_SECRET="your_github_client_secret"
GOOGLE_CLIENT_ID="your_google_client_id"
GOOGLE_CLIENT_SECRET="your_google_client_secret"Push the database schema:
npm run db:pushOpen Drizzle Studio to inspect your database (optional):
npm run db:studionpm run devOpen http://localhost:3000 in your browser.
| Command | Description |
|---|---|
npm run dev |
Start the development server |
npm run build |
Build the production application |
npm start |
Start the production server |
npm run lint |
Run ESLint to check code quality |
npm run db:push |
Push database schema changes |
npm run db:studio |
Open Drizzle Studio (database GUI) |
npm run dev:webhook |
Expose local server via ngrok for webhooks |
Smart-Meet/
βββ src/
β βββ app/ # Next.js App Router pages
β β βββ (auth)/ # Authentication pages
β β βββ (dashboard)/ # Dashboard pages
β β βββ call/ # Video call pages
β β βββ api/ # API routes (tRPC, webhooks)
β βββ components/ # Reusable UI components
β β βββ ui/ # shadcn/ui components
β βββ db/ # Database schema and configuration
β βββ hooks/ # Custom React hooks
β βββ inngest/ # Inngest workflow functions
β βββ lib/ # Utility functions and configurations
β βββ modules/ # Feature modules
β β βββ agents/ # AI agents feature
β β βββ auth/ # Authentication
β β βββ call/ # Video calling
β β βββ dashboard/ # Dashboard views
β β βββ home/ # Landing page
β β βββ meetings/ # Meetings management
β β βββ premium/ # Subscription/billing
β βββ trpc/ # tRPC router and configuration
βββ public/ # Static assets
βββ .env # Environment variables (not committed)
βββ drizzle.config.ts # Drizzle ORM configuration
βββ next.config.ts # Next.js configuration
βββ tailwind.config.ts # Tailwind CSS configuration
βββ tsconfig.json # TypeScript configuration
Create custom AI agents that can:
- Automatically generate meeting summaries
- Extract action items and decisions
- Answer questions about meeting content
- Track follow-ups and deadlines
- Schedule and manage meetings
- Invite participants via email
- View meeting history and recordings
- Search transcripts for specific topics
- HD video and audio
- Screen sharing
- In-meeting chat
- Real-time transcription
- Participant controls
- Free tier with limited features
- Premium plans with unlimited meetings and agents
- Managed through Polar billing system
- All video streams are encrypted in transit
- End-to-end encryption for sensitive data
- Secure authentication with Better Auth
- Environment variables for sensitive credentials
- Regular security audits and updates
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is private and proprietary. All rights reserved.
For support, email supritraj30@gmail.com or open an issue in the GitHub repository.
- Next.js for the amazing framework
- Stream for video infrastructure
- OpenAI for AI capabilities
- Vercel for hosting and deployment
- All open-source contributors and maintainers
Built with β€οΈ by the Smart Meet team

