Features
Everything, included
The whole thing, with nothing held back for a higher tier. Each section below has the plain version up top and the technical detail folded underneath, so you can read as deep as you feel like.
A Movie Night in progress on Apple TV.
Movie Night
Watch together when you are not together
Start a Movie Night and everyone presses play at the same moment, however far apart they are. Pause for the kettle and it pauses on every screen. Talk over the film and the film gets quieter so you can hear each other.
- Everyone stays in sync, second for second, from their own sofa.
- Chat and reactions float over the picture, sized for a TV.
- Voice chat ducks the movie while someone is talking.
- Your phone works as the microphone and the remote.
- Invite someone who does not have an account: send a link or read them a six-digit code.
The details
- Sync is a shared clock steered by the host, not a broadcast stream, so every client plays its own copy at full quality and only the timeline is shared.
- Voice is a peer-to-peer WebRTC mesh with an encrypted TURN relay fallback for networks that will not connect directly.
- Guests join through a signed short-lived grant scoped to the night and the current title only; every other endpoint returns 404 for them.
- The host can mute or remove a guest, and removing one rotates the code so the old one stops working.
Who is watching, with a PIN-locked profile.
Everyone at home
Everyone gets their own, and the kids get theirs
Each person picks their face and gets their own Keep Watching, history, and favourites. Give a child a profile capped to the ratings you are happy with, and lock the grown-up profiles with a PIN so nobody wanders in.
- Separate history, Keep Watching, and favourites for each person.
- Cap a profile by age rating, and choose whether unrated titles show up at all.
- Lock a profile with a PIN. Anything above the cap simply is not there.
- If a child asks for something above their cap, you can approve it from your phone.
- Adults can sign in from their own phone. Nobody shares a password.
The details
- Rating caps use certifications from every country the title carries, with a configurable country preference, rather than a single hardcoded board.
- A capped profile is filtered at the server, so the titles never reach the device, and direct URL access is refused too.
- The owner PIN gates entry into the server hub, and only that. Ordinary owner actions do not re-prompt.
- Settings follow the profile across every device through the account.
The guide: tune, record, or see what is on next.
Live TV and recording
Your channels, with a guide worth using
Bring the channels you already pay for and get a proper grid guide: what is on, what is next, and one press to record. Pause live TV when someone knocks. We never add channels you did not ask for.
- A full channels-by-time guide on the TV and in the browser.
- Pause, rewind, and fast-forward live TV.
- Record from the guide, with padding and whole-series rules.
- Recordings land in your library like anything else.
- If your provider allows several streams at once, all of them are usable.
The details
- Sources are bring-your-own M3U or Xtream playlists, or an HDHomeRun tuner on your network.
- Guide data is rich XMLTV, including programme artwork and episode identity, with Dispatcharr documented as the companion for higher-quality data.
- Multi-credential leasing means several simultaneous streams from one provider account are tracked and shared rather than colliding.
- Timeshift is a rolling two-hour buffer on disk.
Offline
Take it on the plane
Download films and episodes to your phone or tablet and watch them with the network off entirely. Downloads keep going when you lock the screen or switch apps, and where you got to syncs back when you reconnect.
- Download at the quality you choose.
- Transfers continue in the background and resume where they stopped.
- Watch with no signal at all, then pick up on the TV where you left off.
- Your phone tells you when something has finished preparing.
- Part of the paid tier, like remote streaming. Everything at home stays free.
The details
- Background transfers use the OS download daemon on iOS and a foreground-service worker on Android, so a locked screen does not stall them.
- Remote downloads on iOS are handed a signed HTTPS URL proxied through our relay, because the OS daemon cannot reach the in-app tunnel.
- Completion notices ride APNs and FCM.
A title, with everything filled in for you.
Your collection
Organised before you ask
Point it at your folders. Posters, backdrops, cast, and descriptions arrive on their own. When it guesses wrong, fix it in one click, and your correction sticks through every future refresh.
- Films and TV identified automatically, artwork and all.
- Fix a wrong match, or edit any field by hand, and it stays fixed.
- Group things into collections, or set a rule and let the collection keep itself up to date.
- Tap any actor to see everything of theirs you own.
- Keep several cuts of the same film and choose which one plays.
- Move a library to another drive without losing what you have watched.
The details
- Matching is metadata-first for series identity, so a rename or a re-rip does not orphan your history.
- Field-level edits are locked individually, so refreshing a title updates everything except the fields you took over.
- Smart collections re-evaluate their rules on scan and on edit.
- Editions are alternate cuts of one title; the owner picks the default, and auto-advance follows the same edition by name.
The player on Apple TV. Chrome stays out of the way until you ask for it.
Playing it
It just plays, on whatever you own
The picture arrives in the right shape for the screen in front of it, whether that is a 4K TV or a phone on a train. You do not choose a format and you do not wait.
- True 4K stays true on screens that can show it, and is mapped down cleanly on screens that cannot.
- Surround sound stays surround, including Atmos.
- Subtitles work, including the picture-based ones from Blu-ray discs.
- Skip the intro, skip the recap, and roll straight into the next episode.
- Chapters, thumbnail previews as you scrub, and half to double speed.
The details
- The server picks direct play, remux, or transcode per request, and uses hardware encoders (NVENC, QuickSync, VideoToolbox, AMF) when the box has one.
- Quality is device-aware: a phone on cellular gets a different ladder than the living-room TV.
- HDR is tone-mapped only when the client cannot take it; otherwise it passes through untouched.
- Picture-based subtitle formats are burned in during transcode because no client can render them natively.
- Chapters are read from the file with ffprobe, cached, and shown as marks on the scrubber.
Away from home
Watch from anywhere, with nothing to set up
At home, the apps find your server and start playing without a sign-in. Away from home, it connects itself. There is no router to configure and no networking to learn.
- On your own network, open the app and play. No account needed.
- Away from home, it connects on its own.
- Wake a phone or a TV mid-film and it quietly reconnects.
- This is the part the subscription pays for. Home stays free.
The details
- Away from home the client races a set of direct candidates and falls back to an encrypted relay when the network refuses peer-to-peer.
- There is no port forwarding: the server dials out to the broker and holds a tunnel.
- Recovery is a ladder, ending in a full rebuild of the local proxy and a fresh grant, fired proactively when the app returns to the foreground.
- Local connections are never counted against any limit.
The same library in a browser, playlists and all.
Queues
Line up an evening
Build a playlist for the night, or drop something into the queue while a film is already running. What plays next is always visible and always yours to reorder.
- Playlists per person, in the order you want them.
- Add to the queue without stopping what is playing.
- See what is coming next and rearrange it from the couch.
- Mark anything watched or unwatched by hand.
The server hub: libraries, playback, access, and updates in one place.
Running it
Set it up once and forget it
Install it on the computer where your films already live and answer a few questions. After that it looks after itself, and tells you when there is a new version worth taking.
- A guided setup the first time you open it.
- Windows installs for just you, with no administrator prompt, and sits in the tray.
- Also runs on Linux, and in Docker, on both Intel and ARM machines.
- Updates are one click, and roll themselves back if anything goes wrong.
- Scheduled backups of everything, restorable in one step.
The details
- Linux ships as deb, rpm, and tarball for x86_64 and ARM64, installed as a systemd service with the same in-place update path as Windows.
- Updates verify our own signed manifest before applying, and keep the previous binary for an automatic rollback on a failed health check.
- Backups are encrypted snapshots of the database, artwork, and settings.
- An advanced tab exposes the tuning knobs (analysis parallelism, encoder choice, logging) for people who want them.
Now playing, history, and your household top titles.
Insights
See what is going on, and wire it into anything
A live view of who is watching what, how much has been watched, and what your household actually returns to. If you like automating things, every event is available to you.
- Live now-playing, with the ability to stop a stream.
- History and top titles for the whole household.
- See who is on which live channel right now.
- Send playback and library events to Discord, home automation, or your own scripts.
- A diagnostics overlay in the player when you want to know exactly what is happening.
The details
- Webhooks fire on playback start and finish, new items, and completed scans.
- The public server API is documented as OpenAPI 3.1 with a live console, token-authenticated, and is the same API our apps use.
- The diagnostics overlay reports the playback decision, the active encoder, bitrate, buffer health, and the transport in use.
Add to it
Plugins, from a catalog we actually check
Add a metadata source for the collection nothing else identifies properly, extra detail on a film page, or a service you already use. What a plugin is allowed to do is written in plain words before you install it, and you can switch one off or remove it whenever you want.
- Install from a catalog inside your server settings, in one click.
- AniList matches the anime that general databases handle badly, episode titles included.
- Awards adds wins and nominations to a film and to the people who made it.
- What each one may do is spelled out before you install, not after.
- Settings a plugin marks as personal are yours alone, and so is any account you connect to one.
The details
- A plugin runs in a WebAssembly sandbox inside your server: no access to your files, no route into your home network, and a hard memory and time budget on every call. A permission it did not ask for is not enforced at runtime, it is simply absent from what the plugin can reach.
- Plugin code never runs on your TV, your phone or in your browser. A plugin returns data and each app draws it in its own style, which is why one plugin works on every screen without anyone writing a version per platform.
- Every plugin in the catalog is reviewed and signed, and your server checks that signature itself against keys built into the software, so a tampered catalog fails on your machine rather than depending on ours being honest. A published withdrawal list lets a misbehaving plugin be switched off everywhere, with the reason shown.
Make it yours
Six looks, or design your own
Pick a look per person. If none of them suit, the person who runs the server can build one and share it with the household. Rearrange the rows on the home screen, or hide the ones you never use.
- Six built-in looks, chosen per person.
- Custom themes designed by the server owner and shared to everyone.
- Reorder or hide any row on the home screen.
- Your choices follow you to every device.
The details
- The theme editor checks contrast as you type and refuses to ship an unreadable combination, mirroring the same check the server runs on save.