Movie Recommendation System
SVD collaborative filtering — the research foundation that became LumoroX.

Overview
an SVD matrix-factorization recommender tuned by grid search for an 18% RMSE improvement over the popularity baseline, later extended into the LumoroX product.
- Role
- ML Engineer
- Year
- 2025
- Live link
- Source on GitHub
Goals
- Move discovery beyond top-N popularity lists.
- Produce personalised top-10 recommendations per user profile.
- Beat a popularity baseline on a measurable error metric.
- Keep the model small enough to serve interactively.
Approach & architecture
- 1
Data prep
Built a user-item rating matrix and split it into train and holdout sets by user.
- 2
Matrix factorization
SVD from the Surprise library learned latent user and item factors from sparse ratings.
- 3
Tuning
Grid search over factor count, learning rate and regularisation, scored on RMSE.
- 4
Evaluation
Compared against a popularity baseline and inspected per-user top-10 lists for plausibility.

Tech stack

Results
RMSE improvement over the popularity baseline
personalised lists per distinct user profile
extended into a live discovery product
Frequently asked questions
More case studies
J.A.R.V.I.S — NIX
A local-first real-time voice AI that can hear, see and control your machine.
LumoroX Park
A live driveway-parking marketplace, evolved from the Parking Space Management System.
LumoroX
An AI-native movie discovery platform, evolved from the Movie Recommendation System.