Discover: 'More like…' rails + in-app hero trailer
More-like rails (real personalization beyond genre):
- db.random_owned_titles() seeds from a few random owned titles (with tmdb_id);
client.recommendations() + engine.recommendations() (cached + owned-annotated)
fetch TMDB recs. New /discover/morelike interleaves movie/show seeds (max 3
rails) and the page prepends them, pre-filled, above the rail stack with a
gradient 'for you' title.
Hero trailer (cheap big visual win):
- client.video_trailer() (light /videos call, Trailer over Teaser) + engine
.trailer() (day-cached) + /discover/trailer. Hero gets a 'Trailer' button that
opens an in-app YouTube lightbox (autoplay, Esc/backdrop close, pauses the
slideshow) — nothing leaves SoulSync.
Tests: +11 (recs parse/annotate/cache, trailer pick+fallback+cache, random owned
seeds owned-with-tmdb only, /discover/trailer + /discover/morelike endpoints).
Enrichment + API suites: 114 passed.