About

What is this?

Living in the streaming age is great: movies are more accessible than ever. But with tens of thousands of them to choose from, deciding what to watch is hard.

This app helps you find a movie by asking you about a few tags, one at a time.

How does it work?

Every combination of movie and tag has a score between zero and one. "Blade Runner", for example, scores high for "cyberpunk" and low for "prison". After each answer, the app ranks all movies by the tags you said yes and no to, and picks the next tag that best separates the movies that fit you so far.

The scores come from how often a movie shows up in lists people made about each tag, from genres and keywords on The Movie Database, and from the MovieLens Tag Genome. The app is built with SvelteKit and Tailwind, the data lives in PostgreSQL and is prepared with Python scripts.

Data sources

  • The Movie Database (TMDB) logo Movie details, posters, genres and keywords come from The Movie Database (TMDB). This product uses the TMDB API but is not endorsed or certified by TMDB.
  • Tag scores use the MovieLens Tag Genome from GroupLens Research at the University of Minnesota: Jesse Vig, Shilad Sen and John Riedl (2012), "The Tag Genome: Encoding Community Knowledge to Support Novel Interaction", ACM Transactions on Interactive Intelligent Systems 2(3), 13:1–13:44. doi:10.1145/2362394.2362395. GroupLens does not endorse this app.
  • List based tags are computed from public lists on Letterboxd, which is not affiliated with this app.

Who made it?

Hi, I'm Julian! You can find more of my work on jfreyberg.dev and GitHub, and you're welcome to get in touch on LinkedIn or at hello@jfreyberg.dev.