CineMatch is an intelligent movie recommendation system built using machine learning and Streamlit. It analyzes the content and metadata of movies to suggest personalized recommendations based on user-selected titles. This interactive web app enhances the movie discovery experience with visually rich cards, ratings from TMDB and IMDb, and direct access to trailers.
📺 Demo: Movie Recommendation Web App
Watch CineMatch in action:
- 🎞️ Movie Carousel: Scrollable banner of popular films
- 🔍 Smart Recommendations: TF-IDF + Cosine similarity for personalized movie suggestions
- 🎥 Trailer Support: Direct YouTube links for trailers
- ⭐ Dual Ratings: TMDB and IMDb scores displayed
- 🧠 Content-Based Filtering: No user ratings needed
- 💡 Hover Effects: Poster reveals overview with blur
- 📱 Responsive UI: Stylish, interactive Streamlit app
- Getting Started
- Prerequisites
- Installation
- Usage
- Dataset
- Model
- Results
- Contributing
- License
- Contact
Follow the steps below to run the app locally.
- Python 3.8 or higher
- pip package manager
- API Keys from TMDB and OMDb
Clone the repository:
git clone https://github.com/Janviswa/movie-recommendation-system.git
cd movie-recommendation-systemCreate a virtual environment:
python -m venv env
source env/bin/activate # On Windows: env\Scripts\activateInstall dependencies:
pip install -r requirements.txt💡 Consider including this list as a standalone
requirements.txtfile in the repository for easier installation via pip.
-
Set your TMDB and OMDb API keys inside
app.py. -
Run the application:
streamlit run app.py- Choose a movie from the dropdown to get 10 recommendations with:
- Posters
- Year & Overview
- TMDB/IMDb Ratings
- Trailer Links
Used: TMDB 5000 Movie Dataset
Contains:
- Title, Genres, Cast, Crew, Keywords
- Preprocessed with TF-IDF to generate similarity matrix
- Vectorization: TF-IDF on tags combining title, genre, cast, crew
- Similarity Metric: Cosine Similarity
- Recommendation: Top 10 based on similarity scores
Each recommendation includes:
- Movie poster
- TMDB & IMDb scores
- Watch Trailer button
- Hover-over overview reveal
User selects: Inception
Top Matches:
- Interstellar
- The Matrix
- Minority Report
... etc.
streamlit==1.35.0
pandas==2.2.2
numpy==1.24.4
scikit-learn==1.4.1
requests==2.31.0
Contributions are welcome! To contribute:
# Fork & Clone
git checkout -b feature-name
# Make Changes & Commit
git commit -m "Added new UI animation"
# Push & PR
git push origin feature-name📧 Email: jananiviswa05@gmail.com
🔗 LinkedIn: Janani V