https://github.com/heliolj/videoinsightai
A modern web app that analyzes YouTube playlists and videos with AI. Bulk extract transcripts, generate summaries, and get smart insights to quickly determine if videos are worth watching.
https://github.com/heliolj/videoinsightai
ai-summary fastapi gemini-ai playlist-analyzer react transcript typescript video-analysis youtube-api
Last synced: 25 days ago
JSON representation
A modern web app that analyzes YouTube playlists and videos with AI. Bulk extract transcripts, generate summaries, and get smart insights to quickly determine if videos are worth watching.
- Host: GitHub
- URL: https://github.com/heliolj/videoinsightai
- Owner: helioLJ
- Created: 2025-03-31T15:19:26.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-03-31T15:27:19.000Z (about 1 year ago)
- Last Synced: 2025-03-31T16:56:49.858Z (about 1 year ago)
- Topics: ai-summary, fastapi, gemini-ai, playlist-analyzer, react, transcript, typescript, video-analysis, youtube-api
- Language: Python
- Homepage:
- Size: 355 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# YouTube Transcript Analyzer
A modern web application that analyzes YouTube playlist content using AI. Extract transcripts, generate summaries, and get AI-powered insights to quickly determine if videos are worth watching.
## Features
- 🎬 **Playlist Processing**: Analyze entire YouTube playlists with one click
- 🤖 **AI Analysis**: Generate summaries, key takeaways, and topic classifications
- 📝 **Content Evaluation**: Get "worth watching" verdicts with justifications
- 📊 **Structured Insights**: Understand video organization and key points
- 🏷️ **Smart Categorization**: Reliable category tagging with JSON-based AI responses
- 📱 **Responsive Design**: Modern interface that works on all devices
## Screenshots
## Tech Stack
**Frontend:** React, TypeScript, Vite, React Router, Axios, React Markdown
**Backend:** FastAPI, SQLAlchemy, SQLite, YouTube API, Gemini AI
## Quick Setup
### Prerequisites
- Node.js 22+ and npm
- Python 3.13+ with `uv`
- Google Cloud Project with YouTube Data API
- Gemini API key
### Backend Setup
```bash
cd backend
uv sync
# Create client_secrets.json and .env files (see backend README)
python authenticate_youtube.py
uvicorn app.main:app --reload
```
### Frontend Setup
```bash
cd frontend
npm install
npm run dev
```
Access the app at [http://localhost:5173](http://localhost:5173)
## Project Structure
```
.
├── frontend/ # React frontend
├── backend/ # FastAPI backend
│ ├── app/ # Application code
│ ├── authenticate_youtube.py # YouTube auth script
│ └── token.pickle # Generated auth token
└── screenshots/ # Application screenshots
```
## Key Features Explained
### AI-Powered Analysis
The application uses Google's Gemini AI to analyze video transcripts and generate structured insights:
- **JSON-Based Responses**: AI outputs are structured as JSON for reliable parsing and consistent results
- **Smart Category Extraction**: Multiple fallback systems ensure videos always have relevant categories
- **Markdown Support**: All AI-generated content is rendered with full Markdown formatting
### Real-Time Processing
- Processing status updates in real-time
- Videos are automatically refreshed when analysis completes
- Progress indicators show exactly what's happening
## Documentation
For detailed setup instructions and development guides:
- [Frontend Documentation](./frontend/README.md)
- [Backend Documentation](./backend/README.md)
## Troubleshooting
- **YouTube Authentication Issues**: Delete `token.pickle` and run `python authenticate_youtube.py` again
- **CORS Errors**: Ensure both frontend and backend servers are running
- **Missing Analysis**: Check your Gemini API key and quota limits
## License
MIT