Skip to content
PythonFastAPIMatrix Factorization

Movie Recommender System

A collaborative-filtering movie recommender using from-scratch SGD matrix factorization on real MovieLens 1M data, served via FastAPI.

Illustration for the movie recommender system project, built with from-scratch matrix factorization on the MovieLens 1M dataset

Problem

Recommending movies well requires modeling subtle per-user taste patterns that simple popularity rankings miss entirely.

Solution

Collaborative filtering via from-scratch SGD matrix factorization trained on the real MovieLens 1M dataset, served through a FastAPI endpoint.

Overview

Popularity rankings miss the point of recommendation entirely — the goal is surfacing what this viewer would like, not what’s broadly popular.

How it works

Collaborative filtering is implemented from scratch via SGD-based matrix factorization, trained on the real MovieLens 1M dataset (one million real ratings), learning latent taste dimensions directly from rating patterns rather than genre labels. The trained model is served through a FastAPI endpoint for real-time recommendation requests.

Result

Recommendations grounded in a real, well-studied ratings dataset, with the matrix-factorization mechanics built by hand rather than imported as a black box.

Further reading

See Why Most Data Portfolios Get Rejected on why black-box models undermine a portfolio, and From Notebook to Data Product on why serving a model through an API matters.

More projects