Last Showing

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 tickets
Ticket pickLeaving soon

The Night Projectionist

Drama · 2h 14m · IMAX showings. Directed by someone you rate 0.6★ above your average.

For you4.4★
On in a week38%
Go byThu 8 Oct
Catching later

A Quiet Kind of Weather

Drama · 1h 48m. Just as good at home.

For you4.1★
On in a month81%
Rent from~Dec

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.

  1. Step 1What's on

    It reads your Vue's listings, including the coming-soon list, which runs months ahead.

  2. 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.

  3. 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.

  4. 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.

Last ShowingAPPToday at 09:00
Your October plan

2 tickets, 3 films worth it. Use one by Thu 8 Oct.

  • The Night Projectionist · 4.4★ · go by Thu 8 Oct
  • Harbour Lights · 4.2★ · go by Sun 25 Oct
  • A Quiet Kind of Weather · 4.1★ · Catching later

What you see

PageWhat's there
PlanYour ticket picks, films worth paying for, films to catch later at home, and the next two months
FilmsEverything showing or coming soon, scored for you, sortable by best for you or leaving soonest
Film pageTrailer, predicted rating with the reasons, the chance it's still on in a week, two weeks and a month, and showtimes
TasteWhat it has learned about you, and how close its past guesses were once you rated those films
SettingsTickets, 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 /picks and /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

SettingWhat it does
OMDB_API_KEYRotten Tomatoes and Metacritic scores. Free at omdbapi.com.
GUARDIAN_API_KEYThe Guardian's star ratings. Free at open-platform.theguardian.com.
DASHBOARD_PASSWORDAsks 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.