Self-hosted · sits on top of your own Jellyfin
Your library,
put back in order.
jellystructure watches a Jellyfin library and does the part nobody enjoys — matching the right title, the right poster, the right episode number, the right subtitle — so what you press play on actually looks right.
What it actually does
The tedious half of running a media library, automated.
Jellyfin still does all the streaming — jellystructure just keeps what's behind it accurate, and stays out of the way once it is.
Matching that locks in place
Finds the right movie or show, pulls artwork and cast & crew, and remembers any correction you make — a re-scan never quietly overwrites it.
Episode numbers that hold up
Works out season and episode numbers even when the filename doesn't say, and repairs the ones that drift out of sync over time.
Skip intro, skip credits
Detects the intro and end-credits span in every episode of a season and publishes it back to Jellyfin, so any client can skip it.
Files the way people expect
Multi-episode files, several audio tracks, several subtitle languages — shown the way a person would describe them, not the way the filesystem stores them.
Plugs into the rest of the stack
Talks to Radarr, Sonarr, Bazarr and Seerr, so requests, downloads and subtitles land in the same well-kept library automatically.
A proper admin panel
A dashboard for the whole library — search, filters, drift warnings, and a raw editing surface for the rare case automation gets it wrong.
How the pieces fit
Three layers, each doing one job.
Jellyfin
Stores and streams the media. Untouched — jellystructure never replaces it, only tidies what it shows.
jellystructure
Continuously scans the library, fixes metadata and artwork, and detects segments — running quietly in the background.
Ravilo
The TV and phone app your household actually opens. More about Ravilo →