Free and self-hosted, for Vue in the UK
Last
Showing
Use your Monzo Vue tickets on the films you'll love, before they leave.
A free, self-hosted Docker app that reads your Vue's listings, learns your taste from Letterboxd, and predicts how long each film will stay on. Each month it tells you which films to spend your tickets on and when to go by, in a Discord DM and on a dashboard.
Vibe coded, tested by hand. I built Last Showing with AI coding tools and use it for my own tickets. Not affiliated with Vue Entertainment, Monzo or Letterboxd.
Your ticket picks
1 of 2 ticketsThe Night Projectionist
A Quiet Kind of Weather
The problem
One ticket a month. Which film?
Monzo Perks gives you a Vue ticket every month, and other schemes give you more. The hard part is choosing. The film you'd love most might be on for weeks, while a smaller one you'd also love disappears on Thursday.
Last Showing weighs both. It spends your tickets on the films you'll rate highly that are about to leave, and saves the ones that will still be around, or that are just as good on a TV, for later.
How it decides
Four questions, asked again every morning.
- Step 1What's on
It reads your Vue's listings, including the coming-soon list, which runs months ahead.
- Step 2What you'd think of it
It learns from your Letterboxd ratings which directors, writers, actors, genres and themes you rate above or below your average, and blends that with the community average.
- Step 3How long it'll be on
It compares each film with real past runs at Vue cinemas and counts how many similar films were still showing a week, two weeks and a month later.
- Step 4The trade-off
Films you'd love that are leaving soon go first. Films that suit the big screen get a lift. Quieter ones you'd enjoy as much at home wait.
On the 1st of the month
The plan arrives as a Discord DM
The decision comes first, then one line per film. Buttons under the message let you mark a ticket as used, pin a film to a month, or rule it out, without opening the dashboard.
If something stops working, such as a rejected key or a step that fails twice in a row, it tells you in the same place, and again when it's fixed.
What you see
| Page | What's there |
|---|---|
| Plan | Your ticket picks, films worth paying for, films to catch later at home, and the next two months |
| Films | Everything showing or coming soon, scored for you, sortable by best for you or leaving soonest |
| Film page | Trailer, predicted rating with the reasons, the chance it's still on in a week, two weeks and a month, and showtimes |
| Taste | What it has learned about you, and how close its past guesses were once you rated those films |
| Settings | Tickets, cinema, how to weigh favourites against urgency, Letterboxd, Discord and backups |
Mark a film as Want to see and it's fitted into your free tickets across the next three months, soonest-leaving first. Anything that won't fit becomes a paid trip in the month you'd need to go. Used tickets are picked up from your Letterboxd diary, or you can mark them in Discord with /used.
What else it does
- A monthly plan by Discord DM, with buttons to mark films and slash commands like
/picksand/refresh - Leaving-soon estimates for every film, from real past runs at Vue cinemas
- Early review badges from Rotten Tomatoes, Metacritic and the Guardian, if you add free keys
- Buzz on every film page: Letterboxd lists, early watchers and opening-week showings
- A record of every prediction, so you can see how close it was once you've rated the film
- Break alerts: a DM when a key is rejected or a step keeps failing, and another when it's fixed
- Settings for any UK Vue, any number of tickets, and screen types your tickets don't cover
- Daily backups, and an optional dashboard password
Install with Docker
Setup takes about 15 minutes. You need Docker with Compose, a Letterboxd account, a Discord account and a free TMDB key. It runs on Windows, macOS or Linux.
1. Get the code
git clone https://github.com/MOON5H1N3/last-showing.git
cd last-showing
2. Gather your keys
- TMDB: make an account at themoviedb.org, then request a developer key under Settings, API.
- Discord bot: create an application in the Discord developer portal, copy its bot token, and add it to a server you're in so it can DM you. Turn on Developer Mode in Discord to copy your own user ID.
- Letterboxd: export your data from Settings, Data on letterboxd.com and keep the .zip.
The README walks through each one step by step.
3. Configure and start it
cp .env.example .env
# fill in TMDB_API_KEY, DISCORD_BOT_TOKEN, DISCORD_USER_ID, LETTERBOXD_USERNAME
docker compose up -d --build
On Windows, use copy instead of cp and edit the file with Notepad. The first build takes a few minutes because it downloads a headless browser to read the listings.
4. Add your Letterboxd export
Open http://localhost:8095, go to Settings, Letterboxd, and upload the .zip. Pick your Vue and your ticket allowance on the same page. New diary entries arrive automatically after that.
Optional: early reviews
| Setting | What it does |
|---|---|
OMDB_API_KEY | Rotten Tomatoes and Metacritic scores. Free at omdbapi.com. |
GUARDIAN_API_KEY | The Guardian's star ratings. Free at open-platform.theguardian.com. |
DASHBOARD_PASSWORD | Asks for a password before showing the dashboard |
Reviews appear as a badge on new films and never change the predictions.
Questions
How do I choose which film to use my Monzo Vue ticket on?
Last Showing does it for you. It predicts how much you'll like each film at your Vue from your Letterboxd ratings, estimates how long each one will stay on, and picks the films you'd rate highly that are about to leave. The plan arrives as a Discord DM at the start of each month.
Does it work with any Vue cinema?
Yes, any Vue in the UK. Choose yours on the Settings page.
Do I need Monzo?
No. Choose Monzo Perks for one ticket a month, a custom number of tickets, or no tickets at all if you just want recommendations and leaving-soon warnings.
Does it work with Cineworld or Odeon?
No. It reads Vue's listings only.
Do I need a Letterboxd account?
Yes. Your ratings are how it learns your taste, and your public diary is how it notices which films you've seen. A larger rating history gives better predictions.
How does it know when a film is leaving?
It learns from real history: past listings of several London Vues, plus your own cinema's finished runs as they build up. It also notices when Vue stops listing a film before the end of the published week.
How accurate are the predictions?
It shows you. The Taste page tests its rating guesses on films it hadn't seen, and keeps a record of every prediction so you can see how close it was once you've rated the film yourself.
Does it book tickets for me?
No. It plans which films to see and when. You still book through Monzo or Vue as usual.
Is it free?
Yes. It's open source under the MIT licence and runs on your own computer or server. The TMDB, OMDb and Guardian keys are free too.
Is Last Showing affiliated with Vue, Monzo or Letterboxd?
No. It's an independent hobby project.
Was Last Showing written with AI?
Yes, it's vibe coded: written with AI coding tools, then tested by hand on real tickets. The source is open, so you can read exactly what it does before you run it.