Skip to content

supritR21/Smart-Meet

Repository files navigation

Smart Meet πŸŽ₯

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.

alt text alt text


✨ Features

  • πŸ“Ή 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

πŸš€ Tech Stack

Core

Video & Communication

State & Data Management

  • tRPC - End-to-end typesafe APIs
  • TanStack Query - Powerful data synchronization
  • Zod - TypeScript-first schema validation

Authentication & Payments

  • Better Auth - Modern authentication solution
  • Polar - Subscription and billing management

AI & Automation

  • OpenAI - GPT models for summarization and insights
  • Inngest - Durable workflow orchestration

UI Components


πŸ“‹ Prerequisites

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)

πŸ› οΈ Getting Started

1. Clone the repository

git clone https://github.com/supritR21/Smart-Meet.git
cd Smart-Meet

2. Install dependencies

npm install

3. Set up environment variables

Create 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"

4. Set up the database

Push the database schema:

npm run db:push

Open Drizzle Studio to inspect your database (optional):

npm run db:studio

5. Run the development server

npm run dev

Open http://localhost:3000 in your browser.


πŸ“œ Available Scripts

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

πŸ“ Project Structure

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

🎯 Key Features Explained

AI Agents

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

Meeting Management

  • Schedule and manage meetings
  • Invite participants via email
  • View meeting history and recordings
  • Search transcripts for specific topics

Real-time Collaboration

  • HD video and audio
  • Screen sharing
  • In-meeting chat
  • Real-time transcription
  • Participant controls

Subscription Plans

  • Free tier with limited features
  • Premium plans with unlimited meetings and agents
  • Managed through Polar billing system

πŸ” Security

  • 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

🀝 Contributing

Contributions are welcome! Please follow these steps:

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

πŸ“ License

This project is private and proprietary. All rights reserved.


πŸ‘₯ Support

For support, email supritraj30@gmail.com or open an issue in the GitHub repository.


πŸ™ Acknowledgments

  • 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

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors