what should we watch?
Time: 2025
Type: personal
Overview
what should we watch? is a web application designed to solve a common problem among movie fans: deciding what to watch together. The application allows users to input multiple Letterboxd usernames and automatically finds movies that appear across their watchlists, eliminating the need to manually compare lists.
The application supports comparisons between up to 10 users at once, returning movies that appear in more than 50% of the provided watchlists. This allows groups of friends to quickly discover movies they already have in common.

The frontend was built using React, with a Python Flask backend responsible for retrieving, parsing, and processing Letterboxd watchlist data. To collect movie data, the backend utilizes Letterboxdpy, a Python-based web scraping library that automates the retrieval of user watchlists.
One of the main technical challenges with this project was optimizing the process of repeatedly fetching and comparing watchlist data. To address this, I implemented Redis caching to store previously retrieved results, reducing unnecessary requests and improving overall application performance.

Building this project gave me experience working with a multi-service application architecture, connecting a React frontend with a Flask API backend while managing external data retrieval and caching strategies. Future improvements for the application include providing additional movie details and allowing users to see which members of their group have each movie saved on their watchlist.