Live demo

CineMatch — Deep Learning Movie Recommender

A PyTorch collaborative-filtering recommender that learns latent taste from MovieLens interactions.

  • Python 3.11+
  • PyTorch
  • FastAPI
  • React 18
  • Vite
  • Docker
HR@10: 0.73 · NDCG@10: 0.47

CineMatch learns latent representations of users and movies from MovieLens-100k interaction data and serves personalized top-N recommendations through a FastAPI backend and a React UI. A visitor picks a few movies they like, and the system returns movies it predicts they will enjoy — with a transparent score and the movie's genres.

Try it live → — the recommender is running right here on this site: pick a few movies you like and get real recommendations from the trained PyTorch model.

Why collaborative filtering

The project explores the modern collaborative-filtering approach: rather than hand-engineered rules, the model learns what "similar taste" means by training on implicit feedback signals — which users interacted with which movies. It implements NeuMF (Neural Matrix Factorization) with both BCE and BPR training modes, leave-one-out evaluation, and a hyperparameter sweep.

Results

Trained on MovieLens-100k with NeuMF over 8 epochs, evaluated with leave-one-out over a catalog of 1,682 movies:

MetricScore
HR@100.73
NDCG@100.47

Tech stack

LayerChoice
ML / trainingPython 3.11+ · PyTorch · pandas · numpy · Pydantic
BackendFastAPI · Uvicorn
FrontendReact 18 · Vite
ContainerizationDocker

The live demo above runs this exact backend; to see the full training pipeline, evaluation harness, and API, view the source.