Transform Meeting Recordings into Actionable Tasks with AI-Powered Transcription
MeetTask AI is a full-stack web application that streamlines the meeting-to-task workflow for teams. Managers upload meeting recordings (audio/video), the system automatically transcribes them using AssemblyAI with speaker identification, and tasks can be assigned to team members who submit their work via Google Drive links.
MeetTask AI solves the common problem of action items getting lost after meetings. It provides:
- Automated Transcription: Upload any audio/video meeting recording and get accurate transcripts
- Speaker Diarization: Automatically identifies different speakers in the meeting
- Manual Speaker Mapping: Map detected speakers (A, B, C) to actual team members
- Task Assignment: Create and assign tasks based on meeting discussions
- Submission Tracking: Employees submit work via Google Drive links with status tracking
- Role-Based Access: Separate dashboards for Managers and Employees
- Firebase Authentication with Email/Password and Google OAuth
- Two User Roles: Manager and Employee with distinct permissions
- Human-Readable IDs: Unique IDs like
MTAI001,MTAI002for easy reference - Secure JWT Verification: All API endpoints verify Firebase tokens
- File Upload: Support for audio (MP3, WAV, M4A) and video (MP4, MOV, WebM) files
- Cloudinary Storage: Secure cloud storage for media files with progress tracking
- Real-Time Status: Live status updates via Firestore listeners
- Meeting History: Complete history with filtering and search capabilities
- AssemblyAI Integration: Industry-leading speech-to-text accuracy
- Speaker Diarization: Automatic detection of multiple speakers
- Webhook Processing: Asynchronous processing with webhook callbacks
- Formatted Transcripts: Timestamped, speaker-labeled transcripts
- Intuitive UI: Easy dropdown-based speaker-to-employee mapping
- Validation: Prevents duplicate assignments and manager self-assignment
- Participant Tracking: Automatically links meeting participants
- Manual Task Creation: Managers create tasks with full control
- Priority Levels: Critical, High, Medium, Low with visual indicators
- Status Tracking: Pending β In Progress β Completed β Blocked
- Due Dates: Optional deadline tracking with overdue indicators
- File Requirements: Option to require file attachments per task
- Text Responses: Employees provide detailed text explanations
- Google Drive Integration: Submit work via Google Drive share links
- Link Validation: Validates Google Drive/Docs URLs
- Sharing Confirmation: Ensures proper sharing permissions before submission
- Submission History: Complete audit trail of all submissions
- Manager Dashboard: Total meetings, processing status, task statistics
- Employee Dashboard: Assigned tasks, pending work, completion stats
- Recent Activity: Quick access to recent meetings and tasks
- Quick Actions: One-click access to common operations
- Responsive Design: Fully responsive across desktop, tablet, and mobile
- Tailwind CSS 4: Modern utility-first styling with gradients
- Loading States: Skeleton loaders and progress indicators
- Toast Notifications: Real-time feedback for all operations
- Accessibility: ARIA labels and keyboard navigation support
| Category | Technology | Purpose |
|---|---|---|
| Frontend | React 19 + TypeScript | Component-based UI with type safety |
| Styling | Tailwind CSS 4 | Utility-first responsive design |
| Build Tool | Vite 6 | Fast development and optimized builds |
| Routing | React Router 7 | Client-side navigation |
| Auth | Firebase Auth | Email/Password + Google OAuth |
| Database | Firebase Firestore | Real-time NoSQL database |
| File Storage | Cloudinary | Media file uploads and streaming |
| Transcription | AssemblyAI | Speech-to-text with speaker diarization |
| Backend | Vercel Serverless | Node.js API functions |
| HTTP Client | Axios | API requests with interceptors |
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β FRONTEND (React SPA) β
β React 19 β’ TypeScript β’ Tailwind CSS 4 β’ Vite β’ React Router β
βββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β VERCEL SERVERLESS API (9 Endpoints) β
β βββββββββββββββββββ¬βββββββββββββββββ¬ββββββββββββββββββββββ β
β β orchestrator β create-task β webhook/assemblyai β β
β β submit-task β update-task β save-speaker-map β β
β β reset-meeting β health β β β
β βββββββββββββββββββ΄βββββββββββββββββ΄ββββββββββββββββββββββ β
βββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββΌββββββββββββββββββ
βΌ βΌ βΌ
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β FIREBASE β β ASSEMBLYAI β β CLOUDINARY β
β βββββββββββββ β β βββββββββββββ β β βββββββββββββ β
β β Auth β β β β Speech β β β β Media β β
β β (Users) β β β β to Text β β β β Storage β β
β βββββββββββββ€ β β βββββββββββββ€ β β β (Audio/ β β
β β Firestore β β β β Speaker β β β β Video) β β
β β (Data) β β β βDiarizationβ β β βββββββββββββ β
β βββββββββββββ β β βββββββββββββ β β β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
-
Meeting Upload Flow:
User uploads file β Cloudinary stores media β Firestore saves metadata β Orchestrator triggers AssemblyAI β Webhook receives transcript β Status: needs_mapping -
Task Assignment Flow:
Manager maps speakers β Status: completed β Manager creates tasks β Tasks assigned to employees β Employees receive notifications -
Task Submission Flow:
Employee views task β Uploads to Google Drive β Shares link β Submits via API β Manager reviews submission
1. SIGN UP/LOGIN
βββ Create account as "Manager" role
2. UPLOAD MEETING
βββ Upload audio/video file β Automatic transcription starts
3. WAIT FOR PROCESSING
βββ Status: uploaded β processing β transcribing β needs_mapping
4. MAP SPEAKERS
βββ Assign Speaker A, B, C to actual employees (dropdown selection)
5. CREATE TASKS
βββ From meeting details page, create tasks:
β’ Title & description
β’ Assign to employee
β’ Set priority (Critical/High/Medium/Low)
β’ Optional due date
β’ Optional file requirement
6. TRACK PROGRESS
βββ View task statuses, review employee submissions
1. SIGN UP/LOGIN
βββ Create account as "Employee" role
2. VIEW ASSIGNED TASKS
βββ Dashboard shows all assigned tasks with priorities
3. WORK ON TASK
βββ View task details, related meeting transcript (if participant)
4. SUBMIT WORK
βββ Upload file to personal Google Drive
β’ Right-click β Share β "Anyone with the link"
β’ Set permission to "Viewer"
β’ Copy link
βββ Paste link in submission form
βββ Add text description
βββ Confirm sharing checkbox
βββ Submit
5. TRACK STATUS
βββ View submission history and status updates
- Firebase JWT tokens verified on all protected endpoints
- Token expiration and refresh handled automatically
- Role-based access control (RBAC) enforced
- Firestore security rules enforce ownership checks
- Users can only access their own data
- Managers can only modify their own meetings/tasks
- All endpoints validate authentication tokens
- CORS headers configured for production domains
- Input validation on all request bodies
- No sensitive data in client-side storage
- Cloudinary unsigned uploads restricted to specific presets
- Google Drive links validated before acceptance
- No direct file storage on application servers
This project is licensed under the MIT License - see the LICENSE file for details.
- AssemblyAI for speech-to-text API
- Firebase for authentication and database
- Cloudinary for media storage
- Vercel for serverless deployment
- Tailwind CSS for styling utilities
Built with β€οΈ using React, Firebase, and AI
Back to Top β