Skip to content

feat: learned recommendation engine (For You / Cleanup)#2228

Open
tankxbvr wants to merge 1 commit into
xbapps:masterfrom
tankxbvr:feature/recommendation-engine
Open

feat: learned recommendation engine (For You / Cleanup)#2228
tankxbvr wants to merge 1 commit into
xbapps:masterfrom
tankxbvr:feature/recommendation-engine

Conversation

@tankxbvr

Copy link
Copy Markdown

Adds a single-user, content-based recommendation engine that scores the library into two system playlists — For You (watch) and Cleanup (delete candidates) — surfaced through the existing scene lists / HereSphere.

  • Learns a taste profile from ratings, favourites and watch history; optional logistic-regression and factorization-machine rankers.
  • Signals: actors, tags, sites, resolution, freshness, file size and a no-reference visual-quality score; optional MobileNetV2 visual embeddings (CPU, ONNX Runtime, opt-in, default off).
  • Cleanup protects favourites, watchlisted, recently-rated and recently-added scenes; For You can exclude recently-watched scenes.
  • Daily deterministic noise so both lists refresh day to day.
  • New Options → Recommendations section plus a recompute schedule.

The only new dependency is onnxruntime_go (for the opt-in embeddings; it dlopens at runtime, so it builds without the native lib). See pkg/recommend/DESIGN.md for the scoring model.

Single-user, content-based recommender that scores the library into two
system playlists - "For You" (watch) and "Cleanup" (delete candidates) -
surfaced through the existing scene lists / HereSphere.

- Learns a taste profile from ratings, favourites and watch history;
  optional logistic-regression and factorization-machine rankers.
- Signals: actors, tags, sites, resolution, freshness, file size and a
  no-reference visual-quality score; optional MobileNetV2 visual
  embeddings (CPU, ONNX Runtime, opt-in, default off).
- Cleanup protects favourites, watchlisted, recently-rated and recently
  -added scenes; For You can exclude recently-watched scenes.
- Daily deterministic noise so both lists refresh day to day.
- Options -> Recommendations, plus a recompute schedule.
@tankxbvr
tankxbvr force-pushed the feature/recommendation-engine branch from 314e23c to d47b98f Compare July 18, 2026 14:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant