# Letterboxd Diary Poster Picker ![Project Screenshot](/assets/project.png) A web application to browse and select your favorite movie posters from your Letterboxd diary. ## Features - **CSV Import**: Upload your Letterboxd diary export to load your full watch history. - **RSS Sync**: Sync your ~50 most recent diary entries directly via your Letterboxd username — no export needed. - **Poster Gallery**: Browse all available posters for each movie via TMDB. - **Poster Selection**: Pick your favorite poster for each film. - **Selection Recap**: Review all your selections in one place. - **ZIP Download**: Download all selected posters as a ZIP file. - **Responsive Design**: Works on desktop and mobile. ## Getting Started ### Prerequisites - Node.js (v14.0.0 or later) - npm (v6.0.0 or later) - A running instance of the [backend](https://github.com/Hugyouu/Letterboxd-Diary-Posters-Picker-backend) ### Installation 1. Clone the repository: ``` git clone https://github.com/Hugyouu/Letterboxd-Diary-Posters-Picker.git ``` 2. Navigate to the project directory: ``` cd Letterboxd-Diary-Posters-Picker ``` 3. Install dependencies: ``` npm install --legacy-peer-deps ``` 4. Start the development server: ``` npm start ``` 5. Open [http://localhost:3000](http://localhost:3000) to view it in the browser. ## Usage 1. **Import your diary** — either upload a `diary.csv` exported from [letterboxd.com/data/export](https://letterboxd.com/data/export/), or enter your Letterboxd username to sync via RSS. 2. **Browse posters** — for each film in your diary, scroll through the available posters fetched from TMDB. 3. **Select a poster** — click to pick your favorite for each movie. 4. **Download** — use the download button in the header to export all selected posters as a ZIP. ## Technologies - React / Redux - Material UI - Flask (backend) - TMDB API ## Acknowledgments - [Letterboxd](https://letterboxd.com/) for the diary data - [The Movie Database (TMDb)](https://www.themoviedb.org/) for the poster images