Skip to content

Feat: improve recommendations #504

@linear

Description

@linear

Title: ML-powered recommendation system (exclude watched content)

Description

  • Problem: Recommendations sometimes show titles the user has already watched (watchlist / watching / watched / dropped). Doing “filter TMDB list by watched IDs” on backend leads to fewer and fewer results as users watch more (e.g. 10 items → 8 watched → 2 left).
  • Direction: Implement an ML-based recommendation engine that generates personalized suggestions instead of filtering a single TMDB list. The model uses user behavior (watched, ratings, preferences) and naturally avoids already-watched content while scaling with data.
  • Scope: Phased rollout: (1) data + simple collaborative filtering, (2) hybrid ML (collaborative + content-based), (3) optional LLM layer. Keep TMDB as fallback for new users and cold start. Full design in .cursor/plans/ (ML recommendation plan).
  • Out of scope for this ticket: Short-term “filter + pagination” workaround on the TMDB proxy; that approach was explicitly deprioritized in favor of ML.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions