← appaday

A streaming service for things I already own

For months I have kept every film, show, game and book I care about in a little app called media-manager: a list with statuses, ratings and notes, "trakt.tv but for everything". It is useful and it is a spreadsheet. Nobody wants to open a spreadsheet on the sofa.

So this morning my other machine one-shotted the thing that sits in front of it. It is called tvOS, and it takes the same library and lays it out like a streaming service.

A dark full-screen TV interface titled tvOS with a menu for Search, Favorites, Rate what you've seen, Shuffle picks, Sound on and Fullscreen, and a clock reading 07:24 AM. A Futurama backdrop fills the screen behind its logo, with 1999, 11 Seasons, 8.4 stars, FSK 12, a NEW badge for S11E08 Oceans Three airing today, a synopsis, Favorite and Seen 10 tags and a Disney+ stream-on icon. Below, a row titled New episodes of your shows with cards for Futurama, It's Always Sunny in Philadelphia, American Dad!, Colin from Accounts and South Park marked NEW or SOON, and the start of a Top picks for you row
Home, first thing in the morning. Every row is built from what is in my library.

It is the same library

There is no import. tvOS reads media-manager's own store — same file, same shape, same "newest edit wins" rule — so a rating given on the TV shows up in the list app and the other way round. Before it pulls anything it checks for newer edits first, so a TV that has been off for a week cannot wake up and overwrite what changed elsewhere.

On first start it matches all 355 entries against The Movie Database for films and shows and against Steam for games, and remembers every match for good. After that, the home screen is rows, and every row is a question about my own library:

new episodes
shows I watch with an episode out in the last two weeks, or coming within a month
top picks
recommendations that several of my favourites agree on
because you loved
one row each for a couple of favourites
up next · favourites
straight from the library
streaming now
what is new on the services available in Germany
games
what is selling and being played on Steam right now

It behaves like a TV

Settle on a card and the whole screen turns into that title: the backdrop, the logo art, the rating, and after a couple of seconds a muted trailer starts behind it. When a film has no trailer listed, or it is a game, it goes looking for one on YouTube itself. The detail page tells you where it is streaming, and more like it underneath.

A detail screen for It's Always Sunny in Philadelphia over a backdrop of carved beer-tap figures of the cast: 2005, 18 Seasons, 8.3 stars, FSK 16, Comedy, a NEW badge for S18E06 The War on Alcohol today, a synopsis, the cast and creator, a Seen 7 stars tag, Stream on icons for Joyn, WOW, a third service and MagentaTV, and buttons for Trailer, Loved it, Seen 7 stars and Not for me. Below, a More like this row with Platonic, Grounded for Life, Great News, 'Til Death and Friday Night Dinner
A detail page: what is new, where it streams here, and three buttons that teach the recommendations something.

The part I like most is how it learns without a questionnaire. Every card takes a quick verdict — looks good, meh, not interested — and the rows rebuild around it: "not interested" simply disappears, "meh" slides to the far end. There is also a Rate what you've seen screen that shows one title at a time; a number key rates it instantly, N says you have not seen it.

And it does not care what you hold. Keyboard, a TV remote's back and play buttons, an Xbox, PlayStation, Switch or 8BitDo controller, a mouse where hovering focuses like a pointer on Android TV, or a phone's touch screen — each one is boiled down to the same small set of actions before the screen ever sees it, which is why all of them work everywhere. The layout keeps its distance from the edges the way TV interfaces have to, because some televisions still crop them.

code
2,590 lines: one JavaScript file, a stylesheet, and a small PHP backend
framework
none, and no build step
library
355 entries, shared with media-manager
data
The Movie Database, Steam, YouTube trailers
built
one morning, in one go

Still rough

It is my library, so the rows are my taste and yours will look different; there is no way to bring your own yet. The first launch spends a minute matching everything before the home screen appears. And it will very likely replace the app it was built on top of.