The Next-Generation AI-Powered Enterprise Meeting & Collaboration Platform
IntelliMeet is a secure, full-stack, enterprise-grade real-time collaboration workspace. It features advanced video conferencing via WebRTC, rich instant messaging, Kanban-based task allocation, workspace organization, push notifications, and powerful AI integrations powered by Google Gemini (providing live summaries, agenda predictions, productivity metrics, and multimodal audio transcribing).
- Real-time WebRTC: Low latency peer-to-peer and relayed video/audio routing.
- Live Transcript & Recording: Cloud-recorded meetings with live captions.
- Reactions & Screen Sharing: Express yourself and present with high frame-rate screen sharing.
- Auto-Summarization: Instantly generates comprehensive meeting summaries the moment a meeting ends.
- Action Item Extraction: AI automatically creates Kanban tasks from meeting transcripts.
- Productivity Analytics: Engagement metrics and meeting health scores calculated by Gemini.
- Task Management: Interactive drag-and-drop Kanban boards.
- Real-time Messaging: Instant chat via Socket.io with typing indicators and online presence.
- Team Organization: Workspaces with invite links and role-based access.
- JWT & Refresh Token Rotation: Secure
httpOnlycookie-based authentication. - Data Hardening: XSS protection, NoSQL injection prevention, and strict CORS.
- Rate Limiting & Redis: Fast session handling and abuse protection.
- Core: React 18 (Vite), TypeScript
- Styling: Tailwind CSS, Radix UI, Lucide Icons, Framer Motion
- State & Fetching: Zustand, React Query (TanStack), Axios
- Real-time: Socket.io-client, WebRTC APIs
- Core: Node.js (v20+), Express.js
- Database & Cache: MongoDB Atlas (Mongoose), Redis (ioredis)
- Real-time: Socket.io v4
- AI & Cloud: Google Gemini SDK, AWS S3 (Recordings), Cloudinary (Avatars/Attachments)
- Security: bcryptjs, helmet, xss, express-mongo-sanitize
This repository is structured as a monorepo containing both the frontend and backend applications as sibling directories.
IntelliMeet/
├── intellmeet-backend/ # Node.js/Express API, WebSocket server, and AI logic
│ ├── src/ # Controllers, Models, Routes, Services, Sockets
│ ├── tests/ # Jest integration tests
│ ├── .env.example # Backend environment variables template
│ └── package.json
│
├── intellmeet-frontend/ # React/Vite web application
│ ├── src/ # Components, Hooks, Features, Stores, Layouts
│ ├── .env.example # Frontend environment variables template
│ └── package.json
│
└── .gitignore # Root gitignore
- Node.js (v20 or higher)
- MongoDB instance (local or Atlas)
- Redis server (local or cloud)
git clone https://github.com/yasar-pathan/IntelliMeet.git
cd IntelliMeetOpen a new terminal window:
cd intellmeet-backend
npm install
cp .env.example .env # Fill in your MongoDB, Redis, and Gemini API keys in .env
npm run dev # Starts the backend server on http://localhost:5000Open a second terminal window:
cd intellmeet-frontend
npm install
cp .env.example .env # Configure the API URL (VITE_API_URL=http://localhost:5000/api/v1)
npm run dev # Starts the Vite dev server on http://localhost:5173graph TD
A[Frontend React App] -->|HTTPS REST API| B(Express App Setup)
A -->|WebSocket Connection| C(Socket.io Engine)
B --> D{JWT Auth Guard}
D -->|Valid Tokens| E[Controllers / Routing]
E --> F[Services Layer]
F -->|SDK Calls| G[Google Gemini AI]
F -->|File Uploads| H[Cloudinary Storage]
F -->|Recordings| I[AWS S3 Storage]
F -->|Query / Updates| J[(MongoDB Atlas)]
C -->|Handshake Auth| K[Socket Manager]
K --> L[Presence & Chat Handler]
K --> M[WebRTC signaling relay]
L -->|Fast Cache & Append| O[(Redis Server)]
J & O --> P[Analytics Pipeline]
graph TD
classDef client fill:#e1f5fe,stroke:#039be5,stroke-width:2px;
classDef aws fill:#fff3e0,stroke:#ff9800,stroke-width:2px;
classDef ec2 fill:#efebe9,stroke:#5d4037,stroke-width:2px;
classDef external fill:#e8f5e9,stroke:#4caf50,stroke-width:2px;
subgraph Client ["Client Layer"]
Browser["User Browser (React App)"]:::client
end
subgraph AWS ["AWS Cloud Infrastructure"]
Amplify["AWS Amplify CDN (Frontend Host)"]:::aws
ALB["Application Load Balancer (ALB)"]:::aws
subgraph EC2Instance ["EC2 Instance VM"]
Backend["Express.js Server (Port 5000)"]:::ec2
Redis["Local Redis (Port 6379)"]:::ec2
end
S3["Amazon S3 Bucket (Recordings)"]:::aws
end
subgraph External ["Managed SaaS / Database Services"]
MongoDB["MongoDB Atlas (Persistent Data)"]:::external
Gemini["Google Gemini AI (AI Core)"]:::external
Cloudinary["Cloudinary CDN (Media CDN)"]:::external
end
%% Connections
Browser -->|1. Fetches Static HTML/JS| Amplify
Browser -->|2. HTTPS API / WSS WebSockets| ALB
ALB -->|3. Routes Traffic on Port 5000| Backend
Backend <-->|4. Local Memory Access| Redis
Backend <-->|5. CRUD Queries| MongoDB
Backend -->|6. AI Prompt & Transcripts| Gemini
Backend -->|7. Image Uploads| Cloudinary
%% Recording flow
Backend -->|8. Generates Presigned URLs| S3
Browser -->|9. Direct Upload / Download| S3
%% Styling Link Colors
linkStyle 0,1,2 stroke:#039be5,stroke-width:2px;
linkStyle 3 stroke:#5d4037,stroke-width:2px;
linkStyle 4,5,6 stroke:#4caf50,stroke-width:2px;
linkStyle 7,8 stroke:#ff9800,stroke-width:2px;
Built with ❤️ for modern engineering teams.