A cutting-edge video calling application with AI integration, built using modern web technologies including Next.js 15, Stream.io, and OpenAI Realtime API.
- Frontend: Next.js 15 with React 19
- Database: Neon Database with Drizzle ORM
- Video Calling: Stream.io Video SDK
- AI Integration: OpenAI Realtime API
- Authentication: Better Auth
- Styling: Tailwind CSS 4
- UI Components: Radix UI + shadcn/ui
- State Management: Zustand + TanStack Query
- API: tRPC for type-safe APIs
- Animations: Framer Motion
- Forms: React Hook Form with Zod validation
- AI-Powered Video Calls - Real-time AI integration during video calls
- Modern Video Interface - Built with Stream.io for seamless video experience
- Avatar Generation - Dynamic avatars using DiceBear
- Real-time Communication - OpenAI Realtime API for instant AI responses
- Responsive Design - Works perfectly on desktop and mobile
- Dark/Light Theme - Toggle between themes
- Type-safe APIs - Full TypeScript support with tRPC
- Database Management - Drizzle ORM with Neon Database
- Advanced UI Components - Rich component library with Radix UI
- Node.js 18+ (or Bun for better performance)
- Neon Database account
- Stream.io account
- OpenAI API access
- ngrok for webhook development
-
Clone the repository
git clone https://github.com/ASHUTOSH-KUMAR-RAO/meet-ai.git cd meet-ai -
Install dependencies
# Using npm npm install # Or using Bun (recommended for faster performance) bun install
-
Environment Setup Create a
.env.localfile in the root directory:# Database (Neon) DATABASE_URL=postgresql://username:password@host/database # Better Auth BETTER_AUTH_SECRET=your-auth-secret-key BETTER_AUTH_URL=http://localhost:3000 # Stream.io STREAM_API_KEY=your-stream-api-key STREAM_API_SECRET=your-stream-secret # OpenAI OPENAI_API_KEY=sk-... # ngrok (for webhook development) NGROK_URL=smart-walleye-extremely.ngrok-free.app
-
Database Setup
# Push schema to database npm run db:push # Open Drizzle Studio for database management npm run db:studio
# Start development server
npm run dev
# Application will be available at http://localhost:3000# Start ngrok tunnel for webhooks (in separate terminal)
npm run dev:webhook# Build the application
npm run build
# Start production server
npm run start- Create account at Stream.io
- Get your API key and secret
- Add to environment variables
- Video calling features will be automatically available
- Get OpenAI API key from OpenAI Platform
- Add to environment variables
- Real-time AI features will work during video calls
# Push schema changes to database
npm run db:push
# Open Drizzle Studio (database GUI)
npm run db:studio- Cloud PostgreSQL database
- Serverless and scalable
- Perfect for modern applications
meet-ai/
├── src/
│ ├── app/ # Next.js app directory (pages & layouts)
│ ├── components/ # Reusable React components
│ ├── lib/ # Utility functions and configurations
│ ├── server/ # tRPC server and API routes
│ ├── hooks/ # Custom React hooks
│ └── types/ # TypeScript type definitions
├── drizzle/ # Database schema and migrations
├── public/ # Static assets
├── drizzle.config.ts # Drizzle ORM configuration
├── tailwind.config.js # Tailwind CSS configuration
└── next.config.js # Next.js configuration
| Script | Description |
|---|---|
dev |
Start development server |
build |
Build production application |
start |
Start production server |
lint |
Run ESLint for code quality |
db:push |
Push database schema changes |
db:studio |
Open Drizzle Studio (database GUI) |
dev:webhook |
Start ngrok tunnel for webhook development |
- Responsive Design - Works on all device sizes
- Modern Animations - Smooth transitions with Framer Motion
- Icon Library - Lucide React + React Icons
- Component Library - Rich set of accessible components
- Theme Support - Dark/light mode toggle
- Avatar Generation - Dynamic user avatars
- TypeScript - Full type safety
- ESLint - Code quality and formatting
- Drizzle Studio - Visual database management
- TanStack Query - Powerful data fetching
- React Error Boundary - Better error handling
- Vercel (Optimal for Next.js)
- Railway
- Netlify
- DigitalOcean App Platform
- Neon Database (Recommended - serverless PostgreSQL)
- Connection string required in environment variables
- Fork the repository
- Create your feature branch (
git checkout -b feature/new-feature) - Commit your changes (
git commit -m 'Add new feature') - Push to the branch (
git push origin feature/new-feature) - Open a Pull Request
This project is private and proprietary.
Ashutosh Kumar Rao
- GitHub: @ASHUTOSH-KUMAR-RAO
Experience the future of AI-powered video communication 🚀