Skip to content

About

🎬 Content-based Machine Learning Movie Recommendation System using Cosine Similarity & Live TMDB API. Deployed via Streamlit & Stlite WebAssembly!

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

Β 

History

30 Commits

Folders and files

Repository files navigation

CineAI

CineAI | Movie Recommender System

Hybrid Dual-Engine Movie Recommendation Platform combining Custom Machine Learning Cosine Similarity & Live Global TMDB Discovery.

Python Streamlit Scikit-Learn NumPy Pandas TMDB WebAssembly MIT License


⚑ Overview

CineAI is an advanced dual-mode movie recommendation application built with Python, Scikit-Learn, Streamlit, and The Movie Database (TMDB) API. It offers two distinct recommendation engines within a single unified interface:

  1. 🧠 Trained ML Engine (Offline Dataset β€” 4,800+ Movies):
    Uses a custom-trained Cosine Similarity model over historical film metadata (overview, genres, keywords, cast, and crew) to recommend similar films from our ML dataset.
  2. 🌐 Live Global Search Engine (Any Movie up to 2026):
    Allows users to search any movie title ever released worldwide and instantly fetch live recommendations directly from TMDB's global movie graph.

Every recommendation is enriched in real-time with official high-definition movie posters, live viewer ratings (vote_average), release years, and detailed storyline overviews.


✨ Key Features

Feature Description
🧠 Trained ML Recommendation Engine Uses TF-IDF / CountVectorizer + Cosine Similarity over 4,809 curated movies
🌐 Live Global Movie Search Search and discover recommendations for any film ever released (up to 2026)
⚑ Ultra-Fast Startup (< 0.5s) Precomputed top-recommendation matrix compressed down to 270 KB (160x faster loading)
🍿 Live Real-Time TMDB Metadata Fetches official posters, live audience scores, release years, and plot overviews
🎨 Premium Cinema UI Responsive glassmorphic movie cards, tabbed interface, and hover micro-animations
🌐 100% Client-Side WebAssembly Runs entirely in your browser via Stlite / Pyodide WebAssembly on GitHub Pages

πŸš€ Live Demo & Deployment

Option 1: Run Instantly in Browser (GitHub Pages / Stlite WebAssembly)

πŸ‘‰ https://12atharav.github.io/Movie-Recommendor-System/
Runs full Python and Streamlit client-side inside your browser with zero backend server needed!

Option 2: Streamlit Community Cloud (1-Click Deploy)

  1. Fork this repository.
  2. Visit share.streamlit.io.
  3. Connect your fork and select app.py as your entry point.

πŸ—οΈ System Architecture

                       +-----------------------------------+
                       |         CineAI Web UI             |
                       |       (Streamlit / Stlite)        |
                       +-----------------+-----------------+
                                         |
               +-------------------------+-------------------------+
               |                                                   |
               v                                                   v
  [Tab 1: Trained ML Engine]                       [Tab 2: Live Global Search]
               |                                                   |
  +------------v-------------+                      +--------------v-------------+
  |  Load movies.pickle &    |                      | Query TMDB Live Search API |
  |  Precomputed top_recs    |                      | (Any movie up to 2026)     |
  +------------+-------------+                      +--------------+-------------+
               |                                                   |
               +-------------------------+-------------------------+
                                         |
                                         v
                         [Live TMDB Metadata Enrichment]
                     (Posters, Ratings, Years, Storylines)

πŸ’» Local Development & Setup

Prerequisites

  • Python 3.8+
  • pip package manager

1. Clone the Repository

git clone https://github.com/12ATHARAV/Movie-Recommendor-System.git
cd Movie-Recommendor-System

2. Install Dependencies

pip install -r requirements.txt

3. Launch the Application

streamlit run app.py

Open your web browser at http://localhost:8501.


πŸ“ Project Structure

Movie-Recommendor-System/
|-- app.py                   # Streamlit dual-tab application & hybrid recommender
|-- index.html               # Stlite / WebAssembly entry point for browser deployment
|-- requirements.txt         # Python package dependencies
|-- movies.pickle            # Processed movie metadata dataframe (4,809 films)
|-- top_recs.pkl             # Ultra-fast precomputed top-10 recommendations (270 KB)
|-- similarity.pickle        # Full Float16 Cosine Similarity matrix fallback (44 MB)
+-- README.md                # Comprehensive project documentation

πŸ“œ License

This project is licensed under the MIT License.


⭐ Star this repository if you found these recommendations helpful! ⭐

About

🎬 Content-based Machine Learning Movie Recommendation System using Cosine Similarity & Live TMDB API. Deployed via Streamlit & Stlite WebAssembly!

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages