Skip to content

Ravikumar-2016/MeetTask-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

100 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎯 MeetTask AI

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.

React TypeScript Firebase Tailwind CSS Vercel


🎯 Overview

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

✨ Key Features

πŸ” Authentication System

  • Firebase Authentication with Email/Password and Google OAuth
  • Two User Roles: Manager and Employee with distinct permissions
  • Human-Readable IDs: Unique IDs like MTAI001, MTAI002 for easy reference
  • Secure JWT Verification: All API endpoints verify Firebase tokens

πŸ“Ή Meeting Management

  • 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

πŸŽ™οΈ AI-Powered Transcription

  • 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

πŸ—ΊοΈ Speaker Mapping (Human-in-the-Loop)

  • Intuitive UI: Easy dropdown-based speaker-to-employee mapping
  • Validation: Prevents duplicate assignments and manager self-assignment
  • Participant Tracking: Automatically links meeting participants

βœ… Task Management

  • 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

πŸ“€ Task Submission System

  • 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

πŸ“Š Dashboard Analytics

  • 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

🎨 Modern UI/UX

  • 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

πŸ› οΈ Tech Stack

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

πŸ—οΈ System Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      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β”‚  β”‚ β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚ β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚ β”‚                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Data Flow

  1. Meeting Upload Flow:

    User uploads file β†’ Cloudinary stores media β†’ Firestore saves metadata
    β†’ Orchestrator triggers AssemblyAI β†’ Webhook receives transcript
    β†’ Status: needs_mapping
    
  2. Task Assignment Flow:

    Manager maps speakers β†’ Status: completed β†’ Manager creates tasks
    β†’ Tasks assigned to employees β†’ Employees receive notifications
    
  3. Task Submission Flow:

    Employee views task β†’ Uploads to Google Drive β†’ Shares link
    β†’ Submits via API β†’ Manager reviews submission
    

πŸ”„ User Workflows

Manager Workflow

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

Employee Workflow

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

πŸ”’ Security

Authentication Security

  • Firebase JWT tokens verified on all protected endpoints
  • Token expiration and refresh handled automatically
  • Role-based access control (RBAC) enforced

Data Security

  • Firestore security rules enforce ownership checks
  • Users can only access their own data
  • Managers can only modify their own meetings/tasks

API Security

  • All endpoints validate authentication tokens
  • CORS headers configured for production domains
  • Input validation on all request bodies
  • No sensitive data in client-side storage

File Security

  • Cloudinary unsigned uploads restricted to specific presets
  • Google Drive links validated before acceptance
  • No direct file storage on application servers

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments


Built with ❀️ using React, Firebase, and AI

Back to Top ↑

About

MeetTask AI streamlines the meeting-to-task workflow for teams. Managers upload meeting recordings, the system transcribes them with speaker identification, and tasks can be assigned to team members who submit their work via Google Drive links.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages