elbouziadyabdelatif@gmail.com
Github / Website
Movie Recommendation Interface
PythonFastAPIScikit-learnChromaDBDocker

Hybrid Movie Recommendation Engine

A production-ready movie recommendation system that combines three distinct machine learning approaches to provide personalized movie recommendations. Trained on 1.2M+ ratings from the MovieLens dataset, this system intelligently routes between collaborative filtering, content-based similarity, and statistical ranking based on user context.

Overview

Flix Flow Dashboard

Architecture Overview

Three Independent Recommendation Engines:

  1. Collaborative Filtering (SVD)

    • Approach: Matrix factorization using Singular Value Decomposition
    • Algorithm: Decomposes 162K × 62K user-movie matrix into latent factor representations
    • Demonstrates: Linear algebra, eigenvalue decomposition, matrix operations
    • Performance: Predicts ratings with RMSE of 0.82 on test set
  2. Statistical Ranking (Bayesian Average)

    • Approach: Confidence-weighted rating aggregation (IMDB formula)
    • Formula: WR = (v/(v+m)) × R + (m/(v+m)) × C
    • Demonstrates: Statistical inference, probability theory, bias correction
    • Result: Prevents low-sample-size bias in movie rankings
  3. Content-Based Filtering (Vector Similarity)

    • Approach: Semantic similarity using sentence embeddings
    • Technology: Sentence Transformers + ChromaDB vector database
    • Demonstrates: NLP embeddings, vector search, cosine similarity
    • Indexing: 30K+ movies embedded in 384-dimensional space

Intelligent Orchestration

Context-Aware Strategy Routing:

IF user is new (<5 ratings): Use Statistical Engine (cold start solution) ELSE IF strategy = “collaborative”: Use SVD predictions based on user history ELSE IF strategy = “content”: Use Vector similarity to liked movies ELSE IF strategy = “hybrid”: Use All 3 engines + weighted merging Weights: 50% collaborative, 30% content, 20% statistical

Ranker & Merger:

Dataset & Training

API Capabilities

Core Endpoints:

POST /onboard # New user rating collection GET /recommendations/{user_id} # Personalized recommendations ?strategy=hybrid # All engines combined ?strategy=collaborative # SVD only ?strategy=content # Vector similarity only ?strategy=statistical # Trending only GET /movies/{id}/similar # Content-based similar movies GET /trending?genre=Action # Statistical trending by genre GET /search?query=sci-fi space # Natural language search POST /rate # Update user preferences

Technical Highlights

Collaborative Filtering:

Statistical Engine:

Content Engine:

Production Features:

Performance Metrics

Machine Learning Concepts Demonstrated

  1. Linear Algebra: Matrix factorization, singular value decomposition, dot product predictions
  2. Statistics: Bayesian inference, confidence intervals, weighted averages
  3. NLP: Sentence embeddings, semantic similarity, vector spaces
  4. Recommendation Systems: Collaborative filtering, content-based filtering, hybrid methods
  5. System Design: Microservices architecture, orchestration patterns, API design

Use Cases & Applications

Project Learnings

This project showcases:

Future Enhancements


This project demonstrates end-to-end recommendation system development, from data processing and model training to API deployment, showcasing both theoretical ML knowledge and practical engineering skills.

Get in touch

Email me at elbouziadyabdelatif@gmail.com elbouziadyabdelatif@gmail.com link