I built a simple movie collection app earlier this year to keep track of what I own, but I barely used it. It was basically a standalone database — I had to add every title manually, and aside from pulling metadata from TMDB it didn't connect to anything.
Last week I was building a home automation app to replace our Control4 system and added some cinema room control to it. At some point it clicked that this should just live inside the movie app instead. So I did a full overhaul.
The main focus is Kaleidescape. I can browse the full TMDB catalogue and instantly see if I already own a title, whether it's currently streaming on one of the services we use, and — if I don't own it — a direct buy button that sends it straight to the Kaleidescape store. No need to leave the app or go to the store separately. Once it's in the system, I can pick what to watch tonight in a updated Kaleidescape-style interface and launch it directly (Currently testing different styles)
It's also fully integrated with the rest of the cinema hardware (Trinnov, madVR, Sony projector, etc.). It tracks what I've watched (even if the title has been deleted from the system), lets me rate movies, and when a film finishes the iPad automatically asks me to rate it and logs the last watched date. I can use it from the desktop during the day, or grab the iPad Mini on the sofa in the cinema and use that as the browser and remote.
Under the hood it's a self-hosted React + Node.js app with a Postgres database, running in Docker on a home server, wired into Kaleidescape, TMDB and the whole cinema room. The goals were simple: make it look good, make it extremely fast to navigate, and make it easy to decide what to watch without jumping between different apps and the store. I also added price tracking, with a rule for Warner titles so it can automatically buy something once it drops below a price I set.
I'm thinking about open-sourcing it. It's currently built around my specific setup, so it would need some cleanup, but the architecture is straightforward enough that you can just point a coding agent at it and add support for other gear.
Demo video in the post — shows the interface and how it actually behaves when browsing, buying, and launching a movie.
Last week I was building a home automation app to replace our Control4 system and added some cinema room control to it. At some point it clicked that this should just live inside the movie app instead. So I did a full overhaul.
The main focus is Kaleidescape. I can browse the full TMDB catalogue and instantly see if I already own a title, whether it's currently streaming on one of the services we use, and — if I don't own it — a direct buy button that sends it straight to the Kaleidescape store. No need to leave the app or go to the store separately. Once it's in the system, I can pick what to watch tonight in a updated Kaleidescape-style interface and launch it directly (Currently testing different styles)
It's also fully integrated with the rest of the cinema hardware (Trinnov, madVR, Sony projector, etc.). It tracks what I've watched (even if the title has been deleted from the system), lets me rate movies, and when a film finishes the iPad automatically asks me to rate it and logs the last watched date. I can use it from the desktop during the day, or grab the iPad Mini on the sofa in the cinema and use that as the browser and remote.
Under the hood it's a self-hosted React + Node.js app with a Postgres database, running in Docker on a home server, wired into Kaleidescape, TMDB and the whole cinema room. The goals were simple: make it look good, make it extremely fast to navigate, and make it easy to decide what to watch without jumping between different apps and the store. I also added price tracking, with a rule for Warner titles so it can automatically buy something once it drops below a price I set.
I'm thinking about open-sourcing it. It's currently built around my specific setup, so it would need some cleanup, but the architecture is straightforward enough that you can just point a coding agent at it and add support for other gear.
Demo video in the post — shows the interface and how it actually behaves when browsing, buying, and launching a movie.