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
| Trending Dashboard | Movie Details & Trailers |
|---|---|
| Curated dashboard with live trending movies | Immersive details page with embedded trailers |
- 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.
- Instantly fetches the Top 10 Trending Movies of the week.
- Displays results in a responsive, clickable image grid β streaming-platform styled.
- 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.
- Session State for persistent navigation.
- Custom CSS for a βDark Mode cinemaβ look (Bebas Neue).
- Integrates
streamlit-searchboxandst-clickable-images.
- Frontend: Streamlit (Python)
- Data Source: TMDB API
- Libraries:
streamlit-searchboxst-clickable-imagesrequests
- Styling: Custom CSS Injection
-
Clone the repository
git clone https://github.com/thanyow/CineMatch.git cd CineMatch -
Install dependencies
pip install -r requirements.txt
-
Get your API Key
- Sign up at The Movie Database (TMDB).
- Go to Settings β API to create your key.
-
Configure Secrets
Create.streamlit/secrets.toml:tmdb_key = "YOUR_API_KEY_HERE"
-
Run the App
streamlit run src/recommender.py
CineMatch/
βββ .streamlit/
β βββ secrets.toml
βββ assets/
β βββ dashboard.png
β βββ details.png
βββ src/
β βββ recommender.py
βββ .gitignore
βββ README.md
βββ requirements.txt
- Data from The Movie Database (TMDB)
- Built with Streamlit
- Developed by thanyow
This product uses the TMDB API but is not endorsed or certified by TMDB.