Abhijeet Solanki

Software Developer

DevOps Engineer

ML Engineer

Application Developer

Cloud Engineer

Data Scientist

Project Manager

Movie Recommender System

  • Developed By: Abhijeet Solanki
  • Tech Stack: Python, Pickle, TMDB REST API, Streamlit
  • Libraries: pandas, numpy, sklearn, requests, streamlit
  • Github Url: https://github.com/ChiefAj23/Movie-Recommender-System

It’s Friday night. You’re with friends, and you’re ready for a movie marathon. You’re all in the mood for blockbusters and indie films; we love them all. Soon, though, we hit that all-too-familiar wall: “What do we watch next?”

We’d spend hours browsing to find something that fits the mood.

One night, in the middle of that same debate, an idea popped up: what if a tool could get our taste and suggest the right movie fast? That spark led me to build a movie recommender system. It skips the endless search and gives you five great picks with one click.

System Architecture

I first started with designing system architecture to better understand what resources and tools I can use to bring this idea to life. The System Architecture of the Movie Recommender System is shown above:

1. BackendΒ 

The backend does the heavy lifting; it processes movie data, computes similarities, and generates recommendations.

  • Implementation:
    • The MovieRecommenderSystem. ipynb notebook documents the technical details, including data preprocessing, recommendation algorithms, and model training.
    • This notebook illustrates how I used data science techniques to capture the nuances of what makes movies similar, whether through genre matching, user ratings, or other content-based features.

2. FrontendΒ 

The frontend is where users interact with our system, submitting movie titles and receiving tailored recommendations.

  • Implementation:
    • Developed using Streamlit, the frontend is crafted in the app.py file.
    • The app leverages API calls to communicate with the backend. When a user selects or inputs a movie, the frontend sends a request to the backend, which returns a list of recommended films.
    • The design focuses on ease-of-use and quick interactivity, ensuring that even users with little technical knowledge can enjoy a seamless experience.

3. IntegrationΒ 

The frontend and backend communicate via well-defined API calls.

    • This modular approach allows us to update the backend’s recommendation logic independently of the frontend interface, facilitating more manageable maintenance and iterative improvements.

User Interaction Flow

The flow below shows how the user’s movie selection triggers a seamless pipeline from backend processing and similarity computation to fetching poster images via the TMDB API, culminating in a dynamic display of tailored movie recommendations in the Streamlit UI.

Below is the video of user interaction using the movie recommender system

Lets Connect

If you enjoyed this app or have suggestions, feel free to reach out!

Thanks for visiting my portfolio! If you find my work interesting, share a like or comment, and connect with me.

Abhijeet Solanki