Shelf

A player for the media server you already run. Point it at Jellyfin and your library shows up with artwork, logos and cast, the way it should have looked all along.

SwiftUIiOS 18 and latertvOSMac

Sources

Everything you already run, in one app.

Shelf opens on sample data, so you can look around before connecting anything. Add a source whenever you’re ready.

Jellyfin

Your server, in full

Shelf reads the library Jellyfin already manages, with its artwork, people and episode order intact. Resume points, favourites and played marks sync both ways, so every device agrees.

Your files

Anything you already own

Open files and folders straight from Files or iCloud Drive. Subtitle sidecars sitting next to them get picked up automatically.

Xtream

And a subscription, if you have one

Shelf reads an Xtream Codes account too. Set up both and Jellyfin leads, with the subscription there when you want it.

Catalogue

100,000 titles, still smooth

Requests coalesce, responses cache to disk, and artwork decodes off the render path. Scrolling never waits for the network.

Search

One card per film

A source can list the same title five times in four languages. Search folds them into a single result, ranked by the language you prefer.

Offline

Downloads that stay put

Keep episodes on the device for the flight. Favourites, history and progress follow you everywhere through iCloud.

Subtitles

Two slots, your settings

SRT with encoding detection, plus Bazarr sidecars, rendered by the app rather than burned in. Size, position and timing are yours.

Point it at your server.