Movie Recommendation System
This project features an intelligent API for movie recommendations based on user-selected titles, leveraging public data from TMDB (The Movie Database). Through an advanced data processing pipeline, the application cleans, merges, and enriches movie information to generate relevant suggestions based on genres, main cast, and director.
Technical Choices & Technologies:
-
Pandas & Numpy: For data manipulation, cleaning, and enrichment of movie datasets.
-
Scikit-Learn: Computes movie similarity using
CountVectorizer and cosine_similarity.
-
FastAPI: Powers a modern, high-performance REST API that's easy to consume from the frontend.
-
TMDB API: Dynamically fetches movie posters for an enhanced user experience.
Main Features:
- Personalized Recommendations: Get suggestions for similar movies based on your choices, genres, and cast.
- Poster Display: Each recommendation includes a dynamic movie poster image.
- Examples & Filters: Request samples of recent and popular movies.
Limitations & Improvements:
- The system does not consider advanced user preferences or viewing history.
- Recommendation quality largely depends on TMDB data and preprocessing steps.
- Future enhancements could include more advanced machine learning models or user reviews.
- Dependence on TMDB API for posters: if the API is unavailable, some images may not display.
Technical Workflow:
- Cleans and merges TMDB datasets (movies and cast).
- Enriches with genres, main cast, and director information.
- Computes a similarity matrix for all movies.
- Exposes a REST API to request similar movies.
- Dynamically fetches posters via TMDB API.
This project demonstrates my skills in data processing, modern Python APIs, and external service integration. It is designed to be easily extensible and adaptable to real-world movie recommendation use cases.