Machine Learning
April 2023

Movie4AllMoods

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

Movie4AllMoods

About the Project

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.

Key Features

  • 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

Technologies

PythonDjango 4.2PostgreSQLscikit-learnpandasTailwindCSSJavaScript

Tags

Full-Stack DevelopmentRecommendation SystemContent-Based FilteringCosine SimilarityTF-IDF Vectorization