Skip to content

🍿 The cure for doom-scrolling: A dashboard that actually helps you pick a movie

Notifications You must be signed in to change notification settings

thanyow/CineMatch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🍿 CineMatch

Streamlit App Python Status API

CineMatch is an AI-powered movie discovery engine that bridges the gap between static recommendations and an immersive streaming experience. Built entirely in Python, it leverages the TMDB Live API to provide real-time trending data, smart recommendations, and watchable trailers in a streaming-platform style interface.

πŸ”— Live Demo: Launch App


πŸ“Έ Preview

Trending Dashboard Movie Details & Trailers
CineMatch Dashboard Movie Details Page
Curated dashboard with live trending movies Immersive details page with embedded trailers

✨ Key Features

🎬 Cinema Mode

  • Embedded Trailers: Automatically finds and embeds official YouTube trailers.
  • Rich Metadata: Displays dynamic backdrops, release years, runtimes, and ratings.
  • Smart Recommendations: Uses TMDB’s collaborative filtering to suggest similar movies.

πŸ”₯ Live Trending

  • Instantly fetches the Top 10 Trending Movies of the week.
  • Displays results in a responsive, clickable image grid β€” streaming-platform styled.

πŸ” Smart Search

  • Debounced Search to avoid API rate limits.
  • Auto-complete suggestions (e.g., typing "Spider" shows β€œSpider-Man: No Way Home”, etc.).
  • Auto-clears input after selection for smoother flow.

⚑ Technical Highlights

  • Session State for persistent navigation.
  • Custom CSS for a β€œDark Mode cinema” look (Bebas Neue).
  • Integrates streamlit-searchbox and st-clickable-images.

πŸ› οΈ Tech Stack

  • Frontend: Streamlit (Python)
  • Data Source: TMDB API
  • Libraries:
    • streamlit-searchbox
    • st-clickable-images
    • requests
  • Styling: Custom CSS Injection

πŸš€ Installation & Setup

  1. Clone the repository

    git clone https://github.com/thanyow/CineMatch.git
    cd CineMatch
  2. Install dependencies

    pip install -r requirements.txt
  3. Get your API Key

    • Sign up at The Movie Database (TMDB).
    • Go to Settings β†’ API to create your key.
  4. Configure Secrets
    Create .streamlit/secrets.toml:

    tmdb_key = "YOUR_API_KEY_HERE"
  5. Run the App

    streamlit run src/recommender.py

πŸ“‚ Project Structure

CineMatch/
β”œβ”€β”€ .streamlit/
β”‚   └── secrets.toml
β”œβ”€β”€ assets/
β”‚   β”œβ”€β”€ dashboard.png
β”‚   └── details.png
β”œβ”€β”€ src/
β”‚   └── recommender.py
β”œβ”€β”€ .gitignore
β”œβ”€β”€ README.md
└── requirements.txt

🀝 Credits


This product uses the TMDB API but is not endorsed or certified by TMDB.

About

🍿 The cure for doom-scrolling: A dashboard that actually helps you pick a movie

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages