An AI-powered Content-Based Movie Recommendation System built using Machine Learning, Streamlit, and the TMDB API.
CineMatch helps users discover movies similar to the one they love by analyzing movie content instead of user ratings.
Using content-based filtering and cosine similarity, the system recommends the five most similar movies from a dataset of over 4,800 movies. Each recommendation is enriched with live information from the TMDB API, including posters, ratings, genres, runtime, director, language, and movie overview.
- π₯ Content-Based Movie Recommendation
- π Search from 4,800+ Movies
- β‘ Fast Recommendations using Cosine Similarity
- πΌοΈ Movie Posters from TMDB
- β Movie Ratings
- π Genres
- π¬ Director Information
- π₯ Top Cast
- π Original Language
- π Release Year
- β± Runtime
- π Movie Overview
- π¨ Modern Streamlit Interface
- π± Responsive Layout
User selects a movie
β
βΌ
Content-Based Filtering
β
βΌ
CountVectorizer Features
β
βΌ
Cosine Similarity
β
βΌ
Top 5 Similar Movies
β
βΌ
TMDB API
β
βΌ
Movie Posters & Details
| Category | Technology |
|---|---|
| Language | Python |
| Framework | Streamlit |
| Machine Learning | Scikit-learn |
| Data Processing | Pandas |
| API | TMDB API |
| Model Storage | Pickle |
CineMatch/
β
βββ app.py
βββ assets/
β βββ styles.css
β βββ no_poster_avail.jpg
β
βββ data/
β βββ tmdb_5000_movies.csv
β βββ tmdb_5000_credits.csv
β
βββ models/
β βββ movies.pkl
β βββ similarity.pkl
β
βββ notebook/
β βββ CineMatch.ipynb
β
βββ screenshots/
β βββ home.png
β βββ search.png
β βββ recommendations.png
β βββ movie_details.png
β
βββ utils/
β βββ tmdb.py
β
βββ requirements.txt
βββ .gitignore
βββ README.md
βββ .env.example
git clone https://github.com/harsh8767/CineMatch.gitcd CineMatchpip install -r requirements.txtTMDB_API_KEY=your_tmdb_api_keystreamlit run app.py- Load TMDB Movie Dataset
- Data Cleaning & Preprocessing
- Feature Engineering
- Tags Generation
- Text Vectorization using CountVectorizer
- Cosine Similarity Calculation
- Save Model using Pickle
- Build Interactive UI with Streamlit
This project uses the TMDB 5000 Movie Dataset, consisting of:
- TMDB 5000 Movies Dataset
- TMDB 5000 Credits Dataset
- Uses only content-based filtering.
- No personalized user recommendations.
- Requires a valid TMDB API key.
- Recommendations are limited to the dataset.
- β€οΈ Favorites
- π Watchlist
- π€ User Authentication
- π¬ TV Show Recommendations
- π€ Collaborative Filtering
- π₯ Hybrid Recommendation System
- π Dark / Light Theme Toggle
- TMDB API
- TMDB 5000 Movie Dataset
- Streamlit
- Scikit-learn
- Pandas
Harsh Chavan
Computer Engineering Graduate
GitHub: https://github.com/harsh8767
This project is licensed under the MIT License.



