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