CineMatch
A sophisticated content-based recommendation engine that analyzes your viewing history to deliver personalized movie suggestions. CineMatch combines natural language processing, feature hashing, and advanced similarity scoring to find movies that match your taste from your available catalog.
How It Works
CineMatch employs a sophisticated content-based filtering approach that analyzes multiple movie attributes to understand your preferences and find the best matches. The system processes your viewing history through a multi-stage pipeline that combines natural language processing, feature engineering, and intelligent ranking.
Recommendation Pipeline
1. Feature Extraction & Vectorization
The system converts movies into high-dimensional feature vectors by analyzing multiple attributes:
TF-IDF Text Analysis: Builds a 20,000-term vocabulary from plot descriptions and calculates importance scores for keywords.
Feature Hashing: Maps cast, directors, and genres into 16,384-dimensional binary vectors using FNV-1a hashing.
Type Encoding: One-hot encoding distinguishes between movies and TV shows for optional content filtering.
2. Weighted Profile Generation
Instead of treating all viewing history equally, the system builds a weighted profile based on view frequency. Titles watched multiple times receive exponentially higher influence on recommendations, identifying your true favorites and creating a personalized taste profile that aggregates weighted feature vectors.
3. Cosine Similarity Scoring
Measures the angle between your profile vector and each candidate movie vector using efficient Float32Array operations. Processes 5,000+ movies in under 1 second with scores ranging from -1 to 1, where higher scores indicate stronger matches across all feature dimensions.
4. MMR Diversity Reranking
Applies Maximal Marginal Relevance to prevent repetitive recommendations. The algorithm iteratively selects movies balancing 70% relevance (similarity to profile) with 30% diversity (dissimilarity from already-selected items), returning varied recommendations that still match your taste.
5. Explainability Engine
Each recommendation includes similarity scores across feature blocks (description, cast, genres, director) and reasoning text explaining matches. Shows the most similar viewed title to help users understand why each movie was recommended, building trust through transparency.
Role
Full-Stack Developer
Timeframe
3 weeks
Technologies