Go backAavash Lamichhane / Project notes

09Machine Learning

Movie4AllMoods

A web application that curates movies based on user moods and preferences.

The idea behind it

A sophisticated movie recommendation platform that helps you discover films based on your mood, preferences, and viewing history. Built with Django and modern web technologies, Movie4AllMoods combines content-based filtering with TF-IDF vectorization and cosine similarity algorithms to deliver personalized movie recommendations. Features include mood-based discovery across 9 emotional states, intelligent watchlist management, and a hybrid recommendation system with serendipity elements to help users discover hidden gems.

What it does

  • Mood-based recommendations across 9 emotional states (happy, sad, excited, romantic, etc.)
  • Content-based filtering using cast, crew, genre, and metadata
  • Enhanced similarity algorithm with IMDb scores, release decades, and runtime consideration
  • Personalized recommendations with time decay and popularity boosting
  • Smart watchlist management with Plan to Watch, Watching, and Completed categories
  • Rating system (1-10 scale) that improves future recommendations
  • Serendipity recommendations to discover hidden gems outside comfort zone
  • Advanced filtering with 17+ genres, runtime, and release year options
  • Cached similarity matrices for sub-100ms recommendation response times

Challenges & solutions

  • Implementing efficient cosine similarity computation for large movie datasets
  • Balancing personalized recommendations with serendipity for content discovery
  • Optimizing database queries with proper indexing for fast response times
  • Managing genre diversity to prevent recommendation echo chambers
  • Implementing time decay for ratings to prioritize recent user preferences
  • Creating an intuitive mood-to-genre mapping system

Outcomes & impact

  • Hybrid recommendation system combining content-based filtering with collaborative elements
  • Sub-100ms query response times through database indexing and caching
  • Successfully processes and recommends from a comprehensive movie database
  • Achieved genre diversity control with maximum 40% from single genre
  • Implemented serendipity feature with 10-15% outlier recommendations for discovery