Letterboxd Analytics & Recommender

Repo available here.

Overview

Letterboxd lets you rate films, but it doesn’t give you much insight into what those ratings actually say about you. I started off with an interest in finding out: How does my taste in movies compare to the average person?

So I built a local web app that turns your watch history & ratings into a fully searchable dataset, then layers analytics and AI on top to let users see what their movie taste is really like and what they should watch next.

The Problem

Letterboxd provides surface-level stats, but no real way to interrogate your taste.

You can’t easily:

  • Filter your full watch history across meaningful dimensions

  • See where your ratings differ from the crowd

  • Understand patterns in what you like (beyond “you like this genre”)

  • Get recommendations that actually reflect how you rate films

The Solution

A local app that pulls your ratings into a structured dataset, enriches them, and makes them explorable.

It lets you:

  • View your entire watch history in a filterable, sortable table (genre, director, cast, popularity)

  • See where you agree or disagree with the community (your rating vs average)

  • Explore aggregated views of your taste across directors, actors, and genres

  • Drill into any pattern instantly (click a director → filter your full history)

  • Export any filtered view for deeper analysis

On top of that, it adds an AI layer:

  • Taste Profile: a written breakdown of your preferences, patterns, and biases

  • Roast: the same analysis, but brutally honest and funny

  • Watch Later: recommendations based on how you rate films, not just what you’ve watched

After syncing to their Letterboxd account, users are presented with the following page to view all the movies they’ve rated, and how they compare to the average:

Then below there are slicers for Directors, Cast, and Genre:

After entering an Open AI API key, users can generate summaries of their movie tastes, as well as a set of movies to watch later based on that taste:

How It Works

You sync your Letterboxd ratings via their export feature, and the app builds a local database of your watch history.

It then enriches each film with community data (ratings, genres, cast, directors) and structures everything into a queryable dataset.

The AI layer analyzes your ratings to extract patterns, then generates recommendations that are filtered against your actual watch history to ensure they’re new and relevant.

Everything runs locally, so once your data is loaded, exploration is fast and interactive.

Key Decisions

This was designed as a local-first application:

  • No accounts

  • No backend

  • No data collection

All data lives in a local database, and nothing leaves your machine (except optional AI calls).

I also intentionally separated:

  • Data layer (clean, structured watch history)

  • Insight layer (filters, summaries, comparisons)

  • Interpretation layer (AI-generated taste + recommendations)

That separation makes the system both explainable and extensible.