Binge-It-On is a web application designed to help you decide what movie to watch next. It combines live data from The Movie Database (TMDB) API with a content-based recommendation engine powered by machine learning to suggest movies tailored to your preferences.
Key Features
- Movie Generator: Filter movies by minimum release year, minimum rating, and genre to discover new films.
- Smart Recommendations: When the generated movie exists in the local dataset, the app uses Cosine Similarity and CountVectorizer (NLP) to find 10 other movies with similar plots, genres, and features.
- Fallback Recommendations: For newer movies not in the local dataset, it provides top-rated related movies directly from TMDB.
- Rich Media: Displays movie posters, overviews, and YouTube trailers for both the main pick and all recommendations.
How It Works
The recommendation engine operates on a two-tier system:
1. Primary Engine (ML-Based): For movies in the local `tmdb.csv` dataset, the app vectorizes plot descriptions and metadata using Scikit-Learn's CountVectorizer. It then calculates Cosine Similarity scores between the selected movie and all others in the dataset, returning the top 10 most similar films.
2. Fallback Engine (API-Based): When a movie is too new or otherwise not in the local dataset, the system queries the TMDB API for related and top-rated movies in similar genres.
Tech Stack
- Backend: Python with Flask handles routing, API calls, and ML computations.
- Data Processing: Pandas and NumPy manage the movie dataset and numerical operations.
- Machine Learning: Scikit-Learn provides the CountVectorizer for text vectorization and cosine similarity calculations.
- External API: TMDB API supplies live movie data, posters, and trailers.
- Deployment: Gunicorn-ready for cloud deployment on platforms like Heroku.
Usage
1. Select a minimum release year (e.g., "Should not be older than 2012").
2. Choose a minimum rating threshold (e.g., "7").
3. Pick your preferred genres.
4. Submit to receive a curated movie suggestion along with 10 personalized recommendations.