Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎬🎵 TuneFlix – AI-Powered Movie & Music Recommendation System

Python

Streamlit

Scikit-learn

Machine Learning

TMDB API

Spotify API

License

Table of Contents


Overview

TuneFlix is an AI-powered entertainment recommendation system that provides personalized movie and music suggestions using Content-Based Filtering techniques. The platform combines machine learning algorithms with modern web technologies to deliver fast and relevant recommendations based on user preferences.

The movie recommendation engine utilizes the TMDB 5000 Movies Dataset with Bag of Words (BoW) and Cosine Similarity to identify similar movies, while the music recommendation engine recommends songs based on mood and artist preferences and integrates with Spotify for instant listening.


Website Interface

The TuneFlix website serves as the central platform where users can explore AI-powered movie and music recommendations through an intuitive and responsive interface.

Website


Key Features

Movie Recommendation

  • Content-Based Movie Recommendation

  • TMDB Movie Posters

  • Similar Movie Suggestions

  • Fast Recommendation Generation

Music Recommendation

  • Mood-Based Song Recommendation

  • Artist-Based Recommendation

  • Spotify Integration

  • Album Cover Display

Machine Learning

  • Content-Based Filtering

  • Bag of Words (BoW)

  • Cosine Similarity

  • Feature Extraction

User Interface

  • Responsive Website

  • Streamlit Applications

  • Interactive Recommendation Cards

  • Clean and Modern Design


System Architecture

Architecture


Workflow

                    User Opens TuneFlix Website
                               │
                               ▼
               Select Movie Recommendation or Music Recommendation
                     │                               │
                     ▼                               ▼
          Movie Recommendation              Music Recommendation
                     │                               │
                     ▼                               ▼
            User Provides Input           User Selects Mood & Artist
                     │                               │
                     ▼                               ▼
            Data Preprocessing             Data Preprocessing
                     │                               │
                     ▼                               ▼
           Feature Extraction              Feature Extraction
                     │                               │
                     ▼                               ▼
      Content-Based Filtering Model     Content-Based Filtering Model
                     │                               │
                     ▼                               ▼
        Cosine Similarity Computation   Cosine Similarity Computation
                     │                               │
                     ▼                               ▼
           TMDB API Fetch Posters      Spotify API Fetch Album Art
                     │                               │
                     └───────────────┬───────────────┘
                                        ▼
                          Display Recommendations

The system first accepts user input through the website or Streamlit interface. For movies, the selected title is processed using a Content-Based Filtering model trained on the TMDB dataset. For music, mood and artist information are analyzed to generate personalized song recommendations. Similarity scores are computed, relevant metadata is fetched using TMDB and Spotify APIs, and the final recommendations are displayed through an interactive user interface.


Movie Recommendation System

The movie recommendation engine uses Content-Based Filtering to identify movies with similar characteristics.

The recommendation pipeline consists of:

  • Data Cleaning

  • Feature Engineering

  • Bag of Words (BoW)

  • Cosine Similarity Matrix

  • TMDB API Integration

Movie Recommendation


Music Recommendation System

The music recommendation module recommends songs according to user-selected moods and favorite artists.

The recommendation process includes:

  • Mood Classification

  • Artist Matching

  • Metadata Retrieval

  • Spotify Integration

  • Album Artwork Display

Music Recommendation


Technology Stack

Technology Stack


Recommendation Methodology

The recommendation engine follows a Content-Based Filtering approach.

For movie recommendations, textual information such as genres, keywords, cast members, and directors is combined into a single feature representation using the Bag of Words model. Cosine Similarity is then used to measure similarity between movies.

For music recommendations, songs are matched based on mood, artist information, and metadata to generate personalized suggestions. Spotify API integration provides album artwork and direct listening links.


Application Screenshots

Home Page

Home


Movie Recommendation

Movie


Music Recommendation

Music


Spotify Integration

Spotify


Installation

Clone Repository

git clone https://github.com/wSubham/Entertainment-Recommendation-System.git



cd TuneFlix

Create Virtual Environment

python -m venv venv

Windows

venvScriptsactivate

Linux / macOS

source venv/bin/activate

Install Dependencies

pip install -r requirements.txt

Run Movie Recommendation

streamlit run src/movie_app.py

Run Music Recommendation

streamlit run src/music_app.py

Open in browser


http://localhost:8501


Project Structure


TuneFlix

│

├── assets

│   ├── diagrams

│   │   ├── system_architecture.png

│   │   ├── workflow.png

│   │   └── technology_stack.png

│   │

│   └── screenshots

│       ├── home_page.png

│       ├── movie_recommendation.png

│       ├── music_recommendation.png

│       └── spotify_integration.png

│

├── datasets

│

├── models

│

├── notebooks

│

├── src

│   ├── movie_app.py

│   ├── music_app.py

│   └── recommendation.py

│

├── website

│   ├── index.html

│   ├── style.css

│   └── script.js

│

├── requirements.txt

├── README.md

├── LICENSE

└── .gitignore


Datasets

  • TMDB 5000 Movies Dataset

  • TMDB 5000 Credits Dataset

  • Spotify Metadata


Future Scope

  • Hybrid Recommendation System

  • Collaborative Filtering

  • User Authentication

  • Recommendation History

  • Personalized User Profiles

  • Mobile Application

  • Cloud Deployment

  • AI Chat-Based Recommendation Assistant


Project Team

  • Subham Das

  • Sayan Paul

  • Riddhi Santra

  • Suprakash Maji

Academic Supervisor

Dr. Moumita Roy


Acknowledgements

  • TMDB API

  • Spotify API

  • Streamlit

  • Scikit-learn

  • Pandas

  • NumPy


License

This project is released under the MIT License.

About

AI-powered Movie & Music Recommendation System using Content-Based Filtering, TMDB API, Spotify API, and Streamlit.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages