Inspiration
Disney+ subscribers watch ~19 hrs/month; Netflix gets 60–80. That gap isn't content — it's discovery. Thurstone proved in 1927 that people compare reliably but rate poorly. Inside Out gave us the rest: core memories aren't scored, they're colored by a feeling.
What it does
Rather than star ratings, we use two signals. Pick a sentiment bucket (loved it / fine / didn't like it), then answer head-to-head comparisons — "which did you like better?" — until your new title lands in its exact spot. Tag it with up to two Inside Out emotions, which blend into a colored orb on the poster. You get a Taste Profile: everything you've ranked, scored 0–10, filterable, with predicted scores on titles you haven't seen — calculated from your own rankings.
How we built it
Inside the real Disney+ web monorepo — React 18, Zustand, Vite SSR — not a greenfield prototype. Three people, contract-first: types and function signatures published in the first 30 minutes so UI work started before the logic existed. Binary-search insertion means ~5 comparisons against 30 titles, not 30. ~4,000 lines, 53 files, Vitest suite on the ranking logic.
Challenges we ran into
The binary search was subtly wrong at first — re-ranking a title already in the list, bounds converging early, reaching #1 requiring a win against everything above it. Tests caught all three. One of us built the logic layer against the TV Disney+ codebase, which uses a different reactive primitive entirely. Because we'd kept the logic framework-free, five of six files ported unchanged.
Accomplishments that we're proud of
The ranking is real — no faked results. Comparisons produce actual positions, actual scores, actual predictions from your own data. It's logarithmic, not linear. It lives in the real codebase: real Details page action bar, real nav, shared icon library. And we wrote tests under a 24-hour clock, which is how we found the bugs.
What we learned
Publishing an interface before implementing it is the highest-leverage move a small team can make — it unblocked two people instantly and made an unplanned platform migration nearly free. Comparison ranking is easy to describe and hard to get right. The naive version demos fine and is quietly wrong.
What's next for Core Memories
Make mood drive recommendations — emotion tags are captured but don't yet affect predictions. That's the strongest version of this idea. Then: real taste-twin collaborative filtering (crowd scores are hardcoded today), a backend with per-profile persistence, archetypes derived from actual rankings, and prompting the rank flow when credits roll instead of requiring a button press.
Track
Personalization & Discovery + Retention & Engagement
Built With
- docker
- node.js
- pnpm
- react
- typescript
- vite
- zustand
Log in or sign up for Devpost to join the conversation.