Skip to main content
Back to Projects

Data Science

CineMatch

Your AI-Powered Movie Recommendation Engine

CineMatch screenshot

Overview

A movie recommendation system using content-based filtering and machine learning to suggest films based on user preferences.

Key Features

  • Dual-stack implementation with both Python (Streamlit) and vanilla JavaScript versions of the recommendation engine
  • Sophisticated weighted content-based filtering using TF-IDF (40%), genre overlap (30%), director match (15%), and cast overlap (15%)
  • Production-grade database with 4,500+ movies aggregated from seven TMDB endpoints with automated weekly updates via GitHub Actions
  • Explainable AI with detailed recommendations showing why each movie was suggested with matching factors
  • Persistent watchlist with browser localStorage for saving favorite recommendations across sessions

Challenges & Solutions

Major technical challenges included implementing TF-IDF vectorization in vanilla JavaScript without ML libraries using custom tokenization and IDF calculation, optimizing large database loading performance for 3MB JSON with asynchronous initialization and lazy rendering, cross-platform TMDB API integration with rate limiting and multi-endpoint strategy for comprehensive coverage, generating human-readable recommendation explanations with proper attribution to selected movies, creating a responsive type-ahead search interface for 4,500+ movies with efficient filtering and result limiting, and automating data freshness with GitHub Actions including smart change detection to avoid spam commits.

Tech Stack

HTML5CSS3JavaScriptTF-IDFCosine SimilarityTMDB APIGitHub ActionsVercel

Project Type

Data Science