An interactive Streamlit app that clusters and recommends Netflix shows using unsupervised machine learning. It applies K-Means clustering on genres and duration, supports search with fuzzy matching, and integrates poster images and trailers via the TMDB API.
- 🔍 Smart Search with fuzzy matching using
rapidfuzz - 🎯 K-Means Clustering based on show genres and duration
- 🤖 Intelligent Recommendations of similar shows from the same cluster
- 📸 Live Show Posters from TMDB API
- 🎞️ Trailers & Full Descriptions fetched dynamically
- 🧪 PCA Scatter Plot to visualize cluster distribution
- 🎛️ Advanced Filters: Filter by rating, country, or release year
👉 flixrecommender.streamlit.app
trahulsingh-flixrecommender/
├── app.py # 🎯 Main Streamlit app
├── requirements.txt # 📦 All required Python dependencies
├── README.md # 📘 This file
├── LICENSE # 📄 MIT License
├── .env # 🔐 API keys (e.g., TMDB_API_KEY)
├── wholecode.ipynb # 📓 (Optional) Jupyter version
└── data/
└── netflix_titles.csv # 📄 Dataset from Kaggle
- Clone the repository
git clone https://github.com/TRahulsingh/trahulsingh-flixrecommender.git
cd trahulsingh-flixrecommender- Install dependencies
pip install -r requirements.txt- Configure TMDB API key
Create a.envfile in the root directory:
TMDB_API_KEY=your_tmdb_api_key_here
Get your API key from: TMDB API
- Run the Streamlit app
streamlit run app.pyThis app uses the public Netflix Movies and TV Shows dataset from Kaggle:
📥 https://www.kaggle.com/datasets/shivamb/netflix-shows
The dataset includes:
- 🎬 Title
- 📅 Release year
- 🕒 Duration
- 🌍 Country
- 🔞 Rating
- 🎭 Listed genres
- 📝 Description
- Python 🐍
- Streamlit ⚡
- Scikit-learn – KMeans, PCA
- RapidFuzz – for fuzzy title matching
- Pandas & NumPy – data handling
- Matplotlib & Seaborn – data visualization
- TMDB API – for posters, metadata, and trailers
- dotenv – to securely manage API keys
- 🔒 User login and personal watchlists
- 📊 Add content-based or collaborative filtering
Made with ❤️ by TRahulsingh
GitHub: @TRahulsingh
This project is licensed under the MIT License. See the LICENSE file for details.
Feel free to fork, modify, and share!
