VideoMind AI is a full-stack AI-powered research assistant that transforms any YouTube video into an interactive, searchable knowledge base.
Simply paste a YouTube URL and VideoMind AI automatically:
- 🎬 Extracts video transcripts
- 🧠 Generates semantic vector embeddings using FAISS
- 💬 Lets users chat with the video using Retrieval-Augmented Generation (RAG)
- 📚 Shows source citations for every AI response
- ⚡ Built with FastAPI, LangChain, OpenAI, React, Vite and TailwindCSS
The application is fully functional and can be run locally.
This repository does not include a live public deployment because of YouTube's anti-bot protection, not because of any limitation in the application itself.
When deployed on public cloud platforms such as Render, Vercel, Railway, or similar providers, YouTube frequently blocks requests originating from datacenter IP addresses.
Typical errors include:
- Sign in to confirm you're not a bot
- This request has been blocked
- Use cookies for authentication
- IP temporarily blocked
- Rate limited by YouTube
This is a well-known operational challenge for applications that fetch YouTube content from server-side environments.
To run this application reliably for public users, production deployments typically require one or more of the following:
- Residential or rotating proxy infrastructure
- Authenticated YouTube cookies
- Trusted IP addresses
- Proxy rotation
- Continuous monitoring and maintenance
These services introduce recurring infrastructure costs, which are outside the scope of this portfolio project.
For that reason, I intentionally chose to keep this project as a fully functional local application while open-sourcing the complete codebase.
Everything required to run the project locally is included below.
A complete walkthrough of the application is available below.
📹 Demo Video
Screen.Recording.2026-08-07.at.7.36.53.PM.mov
The demo covers:
- Project Overview
- FAISS Vector Index Creation
- RAG Pipeline
- Semantic Search
- Chat Interface
- Source Citations
- Local Setup
- Production Deployment Considerations
VideoMindAI/
├── app/
│ ├── main.py
│ ├── config.py
│ ├── schemas.py
│ ├── routers/
│ │ └── video.py
│ └── services/
│ ├── youtube_service.py
│ └── rag_service.py
│
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ ├── services/
│ │ ├── App.jsx
│ │ └── main.jsx
│ ├── package.json
│ ├── vite.config.js
│ └── tailwind.config.js
│
├── requirements.txt
├── .env.example
├── README.md
└── ...
- 🎥 YouTube Transcript Extraction
- 🧠 Retrieval-Augmented Generation (RAG)
- 🔍 Semantic Search using FAISS
- 🤖 OpenAI LLM Integration
- 📚 Source Citation Support
- ⚡ FastAPI Backend
- ⚛️ React + Vite Frontend
- 🎨 TailwindCSS UI
- 📄 Transcript Search
- 📊 Chunk Statistics
- 💬 Conversational AI Interface
- 🔄 REST APIs
- 📦 Modular Architecture
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .envAdd your OpenAI API key:
OPENAI_API_KEY=your_key
EMBEDDING_MODEL=text-embedding-3-small
LLM_MODEL=gpt-4o-miniRun:
uvicorn app.main:app --reload --port 8000Backend
http://localhost:8000
Swagger
http://localhost:8000/docs
cd frontend
npm install
npm run devFrontend
http://localhost:3000
Open
http://localhost:3000
Paste any YouTube URL.
Examples:
https://www.youtube.com/watch?v=oX7OduG1YmI
https://www.youtube.com/watch?v=0sOvCWFmrtA
https://www.youtube.com/watch?v=ySus5ZS0b94
Click
Analyze Video
The backend will:
- Extract transcript
- Generate embeddings
- Create FAISS index
- Enable conversational RAG chat
- Summarize this video.
- What are the key takeaways?
- Explain this topic like I'm a beginner.
- List all important concepts.
- Give me action items.
- What libraries are mentioned?
- Explain the architecture.
- React
- Vite
- TailwindCSS
- Axios
- TanStack Query
- FastAPI
- LangChain
- OpenAI
- FAISS
- yt-dlp
- Python
If you intend to deploy this project publicly, configure one of the following:
YTDLP_PROXYYTDLP_COOKIES_FILEYTDLP_COOKIES_BROWSERYTDLP_COOKIES_CONTENT
A residential proxy is generally the most reliable long-term solution.
MIT License
Built with ❤️ by Shashank
FastAPI • LangChain • OpenAI • FAISS • React • Vite • TailwindCSS