This is a recommender system built on research done on the Netflix Prize.
Two main approaches I looked at is one based on matrix factorization and one based on nearest neighbors. Currently, the nearest neighbor approach outperforms the matrix factorization nearly every time.