Loading...
Loading...
Notebook recommenders die at the API boundary. Build the production pattern: two-tower retrieval, CatBoost ranking, optional LLM rerank, served by FastAPI on local Postgres, Qdrant, and MLflow. Adapted from the open-source Decoding ML H&M course by replacing the Hopsworks coupling with a fully local stack.
Message a mentor about fit, prerequisites, or where to start. Replies come on WhatsApp, usually within a day.
Engineers are learning here from
Build a production-ready personalized recommender on H&M fashion data. Two-tower retrieval, CatBoost ranking, optional LLM rerank, served by FastAPI with Postgres, Qdrant, and MLflow. Adapted from the open-source Decoding ML course (https://github.com/decodingml/personalized-recommender-course) by replacing Hopsworks with a fully local stack. Source code: https://github.com/learnwithparam/personalized-recommender-system.
Build a four-stage personalized recommender: two-tower retrieval, ranking, optional LLM rerank, served by FastAPI on local Postgres, Qdrant, and MLflow.
What you'll ship
What you'll learn
Curriculum
Foundations and the four-stage architecture
Walk the H&M data, the FTI split, and the four-stage recommender that production teams run.
Two-tower retrieval
Train two neural networks that align customers and items in a shared embedding space, then index for fast lookup.
Ranking and LLM re-ranking
A CatBoost ranker on engineered features and an optional LLM rerank with cost and latency trade-offs.
Production serving and evaluation
Wrap the pipeline behind FastAPI, measure ranked retrieval, and plan for cold start.
Who it's for
who have trained models in notebooks and now need to ship a recommender that survives a real product surface
who can move H&M data around in pandas but have never wired retrieval, ranking, and serving together
who have to maintain the recommender service their data team handed off and want to understand every stage they are paged about
FAQ
No. The sampled H&M dataset trains both models in under five minutes on a laptop CPU. The full Kaggle dataset benefits from a GPU but is optional.
Docker is the golden path with Postgres, Qdrant, and MLflow in containers. The repo also ships a LOCAL_MODE that runs on sqlite and embedded Qdrant so you can work without Docker.
Two-tower learns customer and item embeddings in the same space conditioned on context features like age and seasonality. Pure matrix factorization cannot do that. FAISS only gives you the index, not the model.
No. This course teaches a production architecture you can ship. The H&M dataset is the substrate. Competition leaderboards optimise for offline metrics, while this curriculum optimises for an end-to-end system you would actually run.
Pricing
One subscription unlocks every paid course and workshop replay. Pick yearly or monthly.
Unlock with Pro
You save 47% with regional pricing
Billed annually. Cancel anytime.
Still deciding? Ask Param a question
Production recommenders are a pipeline, not a model. Build the whole thing once and the pattern transfers.
Personalized recommender systems: Two-tower retrieval to production serving
From $16/mo with Pro