Skip to content

coder-Yash886/Nexora-AI

Repository files navigation

Nexora AI Logo

Nexora AI

Your AI-Powered Video Meeting Platform

Next.js TypeScript tRPC Stream Video Gemini License

Create custom AI agents. Join HD video calls. Get instant summaries. πŸ”₯

πŸš€ Live Demo

πŸŽ₯ Demo Video

Experience Nexora AI in action:

nexora-ai-demo-final.3.1.online-video-cutter.com.mp4

Sign In Dashboard AI Agent Call
Sign In Dashboard AI Agent Call

✨ Features That Slap

πŸ€– Custom AI Agents

🧠 Create agents with custom instructions
🎯 Interview coach, tutor, sales assistant & more
⚑ Agents join your live video calls

πŸ“Ή HD Video Meetings

πŸŽ₯ Crystal-clear video powered by Stream
πŸŽ™οΈ Auto transcription & recording
πŸ‘₯ Real-time collaboration

πŸ’¬ In-Call AI Assistant

πŸ—£οΈ Ask questions by voice or text
⚑ Gemini replies in seconds
🧩 Context-aware answers during the call

πŸ“Š Post-Meeting Intelligence

πŸ“ AI-generated markdown summaries
πŸ“œ Full meeting transcripts
🎬 Recording playback
πŸ’‘ Ask AI about past meetings

πŸ” Authentication

βœ‰οΈ Email & password
πŸ”΅ Google sign-in
⚫ GitHub sign-in

πŸ“± Screenshots

Create Agent Create Meeting Join Call
Create Agent Create Meeting Join Meeting
Meeting Summary
Meeting Summary

πŸ› οΈ Tech Stack

Technology Purpose
Next.js 15 App framework (App Router)
TypeScript Type-safe development
Tailwind CSS 4 Styling
tRPC End-to-end typesafe API
Drizzle ORM Database ORM
Neon PostgreSQL Serverless database
Better Auth Authentication
Stream Video SDK HD video calls
Google Gemini AI agent & summaries
Inngest Background jobs
Vercel Deployment

πŸš€ Getting Started

Prerequisites

Installation

# Clone the repo
git clone https://github.com/coder-Yash886/Meet-Ai.git
cd Meet-Ai/meetai

# Install dependencies
npm install

# Push database schema
npm run db:push

# Start dev server
npm run dev

Open http://localhost:3000 β†’ redirects to /meetings.

Environment Variables

Create a .env file in the meetai folder:

DATABASE_URL=postgresql://...
BETTER_AUTH_SECRET=your-random-secret
BETTER_AUTH_URL=http://localhost:3000
NEXT_PUBLIC_APP_URL=http://localhost:3000
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
NEXT_PUBLIC_STREAM_VIDEO_API_KEY=
STREAM_VIDEO_SECRET_KEY=
GEMINI_API_KEY=

Full local flow (summaries + webhooks):

npm run dev          # Terminal 1
npm run dev:webhook  # Terminal 2 β€” ngrok for Stream webhooks
npm run dev:inngest  # Terminal 3 β€” optional

πŸ—οΈ Architecture

meetai/
β”œβ”€β”€ πŸ“± src/app/
β”‚   β”œβ”€β”€ (auth)/              # Sign-in, dashboard
β”‚   β”‚   └── (dashboard)/
β”‚   β”‚       β”œβ”€β”€ meetings/    # Meeting list & detail
β”‚   β”‚       └── agents/      # Agent management
β”‚   β”œβ”€β”€ call/[meetingId]/    # Live video call UI
β”‚   └── api/                 # Auth, tRPC, webhooks, Inngest
β”œβ”€β”€ 🧠 src/modules/
β”‚   β”œβ”€β”€ agents/              # Agent CRUD & UI
β”‚   β”œβ”€β”€ meetings/            # Meetings, summary, transcript
β”‚   β”œβ”€β”€ call/                # Video call + AI agent UI
β”‚   └── auth/                # Login / signup views
β”œβ”€β”€ πŸ“¦ src/db/               # Drizzle schema
β”œβ”€β”€ βš™οΈ src/lib/              # Auth, Gemini, Stream helpers
β”œβ”€β”€ 🎬 public/demo/          # Demo video
└── πŸ“Έ public/feature/       # App screenshots

πŸ—ΊοΈ Key Routes

Route Description
/meetings Meeting list (default landing)
/meetings/[id] Meeting detail & summary
/agents Manage AI agents
/call/[meetingId] Live video call with AI
/sign-in Authentication

☁️ Deploy on Vercel

  1. Push to GitHub and import on Vercel
  2. Set all .env variables (use production URLs for BETTER_AUTH_URL & NEXT_PUBLIC_APP_URL)
  3. Add OAuth redirect URIs for Google & GitHub
  4. Configure Stream webhook: https://your-app.vercel.app/api/webhook
  5. Sync Inngest: https://your-app.vercel.app/api/inngest

πŸ“œ Scripts

Command Description
npm run dev Start dev server
npm run build Production build
npm run db:push Push schema to Neon
npm run db:studio Open Drizzle Studio
npm run dev:webhook ngrok tunnel for webhooks
npm run dev:inngest Inngest local dev server

🀝 Contributing

Contributions make open source amazing! Any PRs are welcome.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

Distributed under the MIT License. See LICENSE for more information.


πŸ’– Acknowledgments

  • Video powered by Stream
  • AI powered by Google Gemini
  • Built with ❀️ and way too much β˜•

⭐ Star this repo if you found it useful!

Made with πŸ’ͺ by Yash Kumar

Twitter: @YashK47662

yashkumar.967565@gmail.com

About

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors