Made a watchlist card that stores everything in the built-in to-do list — no extra database, no custom integration

I wanted a proper watchlist for films and shows on the family dashboard, and everything I found meant running something else: a media server, a separate integration, some database. So I built a Lovelace card that just uses a Local To-do list instead.

That’s the whole idea. The title is the to-do item. Poster, year, genres, runtime and ratings get written into that item’s description once, when you add it. After that the card draws from data Home Assistant already has — nothing polls, nothing calls out on every dashboard load. One TMDB lookup per title you add and that’s the end of it.

Because it’s just a to-do list, Assist works without doing anything. “Add Dune Part Two to my watchlist” and it shows up as a tile you tap once to fill in.

Other bits: there’s a GUI editor so you never have to touch YAML, marking something watched sets the item to completed so it moves to a Watched tab instead of disappearing, and it only talks to HA through the standard todo services and websocket API so no custom component, nothing poking at .storage.

One caveat before you start: you need a free TMDB account to get an API key. Free, two minutes, but it is an account. An OMDb key is optional and gets you the IMDb rating rather than just TMDB’s, but for OMDb you don’t need an account.

I should also say I built this with a lot of help from Claude. The idea, the design decisions and the testing are mine; most of the JavaScript isn’t. Mentioning it because I’d want to know.

It’s not in the default HACS store yet, so add it as a custom repository:

Source: GitHub - PhotonSpheres/watchlist-card: Watchlist Card for Home Assistant · GitHub

v0.1.0, so treat it as early. Happy to hear what I’ve got wrong.