Skip to content

Repository files navigation

🎬 NextWatch AI

Streamlit App

NextWatch AI is an intelligent movie recommendation system that leverages machine learning and rich movie metadata to suggest films tailored to user preferences. Powered by the TMDB 5000 dataset, this project uses Python and Jupyter Notebook to analyze movie content and generate personalized recommendations.


Features

  • Content-based movie recommendations using metadata and credits
  • Utilizes the TMDB 5000 Movies and Credits datasets for robust data
  • Interactive interface for querying and displaying recommendations
  • Implemented with Python, Jupyter Notebook, and optionally Flask/Streamlit
  • Deployment-ready with Procfile and setup scripts for easy cloud deployment

Project Structure

nextwatch-ai/
│
├── .idea/                  # IDE configuration files
├── .ipynb_checkpoints/     # Jupyter notebook checkpoints
├── MovieRecommendation.ipynb  # Core notebook for recommendation logic
├── app.py                  # Application entry point (Flask or Streamlit)
├── requirements.txt        # Python dependencies
├── setup.sh                # Setup script for deployment environments
├── Procfile                # Configuration file for Heroku deployment
├── tmdb_5000_movies.csv    # Movie metadata dataset
├── tmdb_5000_credits.csv   # Movie credits dataset
├── .gitignore              # Git ignore rules
└── .gitattributes          # Git attributes configuration

Getting Started

Prerequisites

  • Python 3.7 or higher
  • Jupyter Notebook (to explore .ipynb files)
  • pip package manager

Installation

  1. Clone the repository:

    git clone https://github.com/Samridhi060/nextwatch-ai.git
    cd nextwatch-ai
  2. Install required packages:

    pip install -r requirements.txt
  3. (Optional) Run the setup script for deployment environment preparation:

    bash setup.sh

Usage

  • To explore or modify the recommendation system logic, open and run:

    MovieRecommendation.ipynb
    
  • To start the web application (if app.py uses Flask or Streamlit):

    python app.py
  • Access the interactive interface to input movie titles and receive recommendations.


Datasets

  • tmdb_5000_movies.csv: Contains detailed metadata on 5000 movies, including genres, keywords, and summaries.
  • tmdb_5000_credits.csv: Includes cast and crew information corresponding to the movies.

How It Works

  • The system combines metadata and credits data to calculate content similarity between movies.
  • Upon entering a movie title or user preference, it ranks similar films and returns a curated recommendation list.
  • Recommendation logic is primarily implemented in the notebook, supported by backend code in app.py.

Deployment

  • The Procfile enables easy deployment on platforms like Heroku.
  • Use setup.sh to configure environment dependencies during deployment.

Contributing

Contributions are welcome! To contribute:

  1. Fork the repository.
  2. Create a new feature branch.
  3. Submit a pull request with your changes.

About

NextWatch AI is an intelligent movie recommendation system that leverages machine learning and rich movie metadata to suggest films tailored to user preferences.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages