A web application that transcribes video files and generates summaries using AI. Built with Node.js, Express, and Google's Gemini AI.
- Video to audio conversion using FFmpeg
- Audio transcription using AssemblyAI
- Text summarization using Google's Gemini AI
- Real-time file processing status
- Clean file management (automatic cleanup after processing)
- Cross-platform compatibility
- RESTful API architecture
- Runtime: Node.js (v14 or higher)
- Framework: Express.js
- File Processing: FFmpeg
- File Upload: Multer
- API Integration:
- AssemblyAI SDK
- Google Generative AI SDK
- Development Tools: Nodemon
- Framework: React
- HTTP Client: Axios
- State Management: React Hooks
- AssemblyAI for transcription
- Google Gemini AI for summarization
- FFmpeg for media processing
- Git for version control
- VS Code (recommended editor)
- Node.js Installation
# Check if installed
node --version # Should be v14 or higher
npm --version- FFmpeg Installation
# Windows (using Chocolatey)
choco install ffmpeg
# Windows (manual)
# Download from https://ffmpeg.org/download.html
# Add to PATH environment variable
# Verify installation
ffmpeg -version- API Keys
- AssemblyAI API key from https://www.assemblyai.com/
- Google Gemini API key from https://makersuite.google.com/app/apikey
- Clone Repository
git clone
cd meetsync- Server Setup
cd server
npm install
# Create necessary directories
mkdir -p public/files public/audio
# Create and configure .env
copy .env.example .env
# Edit .env with your API keys- Client Setup
cd ../client
npm installmeetsync/
├── server/
│ ├── public/
│ │ ├── files/ # Temporary video storage
│ │ └── audio/ # Temporary audio storage
│ ├── app.js # Main server file
│ ├── fileService.js # FFmpeg operations
│ ├── openaiService.js # Gemini AI integration
│ └── transcriptionService.js # AssemblyAI integration
├── client/
│ ├── src/
│ │ ├── App.js
│ │ └── components/
│ └── public/
└── README.md