Your media.
Your server. Actually pleasant.
A desktop client for Jellyfin that talks directly to your server.
Browse, discover, and watch without touching a browser tab.
You already run the server.
Using it should feel like a reward, not a chore.
Jellyfin is powerful, but the default experience is a web app designed by committee. Jellybloom is a ground-up desktop client built for people who own their media and want browsing it to feel as good as the content itself.
Direct connection
Talks straight to your Jellyfin server. No cloud middleman, no account required, no data leaves your network unless you want it to.
Rich player
ASS/SSA subtitle rendering, OpenSubtitles search, audio EQ, picture filters, bookmarks, A-B looping, trickplay thumbnails, and more.
Discover more
TMDB integration finds films and shows you do not have yet. Library gap analysis, mood picks, decade strips, and an "on this day" feature.
Track your taste
Watch diary with ratings, notes, and rewatch counts. Export to Markdown, JSON, or Letterboxd CSV. Stats that stay local.
Built for people who
actually watch things.
Your home, curated.
The home page builds itself from shelves you curate, or suggests rows based on what you actually watch. Continue watching, next up, and featured banners keep the good stuff front and center.
- Customizable shelf layout
- Continue watching with progress bars
- Notification bell for new episodes
Thousands of items, zero lag.
The poster grid uses virtualization so it stays smooth even with massive libraries. Sort by release date, rating, recently added, or random. Filter by watched status, decade, genre, and more.
- Virtualized scrolling for any library size
- Grid, list, and map views
- Right-click quick look without losing your place
Find what you are missing.
TMDB-powered discovery surfaces films and shows you do not have yet. The library gap finder analyzes your taste and recommends top-rated titles in genres you already love.
- Personalized spotlights based on your top genre
- "This week in cinema" across the decades
- Mood chips for quick filtered browsing
Every detail, covered.
Rich title pages pull from multiple sources. Backdrops, posters, and logos from TMDB. Ratings aggregated from IMDb, TMDB, and your own diary. Cast, crew, filming locations, reviews, trailers, and tech specs.
- Request buttons for Sonarr and Radarr
- Anime filler episode detection
- Multiple version selector
Find anything, fast.
Fuzzy unified search across titles, people, and collections. Saved search history keeps your frequent lookups one keystroke away. Suggested searches help you explore.
- Full keyboard shortcut support
- Recent and suggested searches
- Results from both your library and TMDB
Know your watching habits.
Track your year in watching with detailed analytics. Hours by genre, top studios, completion rates, current streak, and longest binge. All stats stay on your device.
- Year-in-review summaries
- Genre breakdown with bar charts
- Export watch diary to Letterboxd CSV
The things that make
watching better.
Rich media player
Vidstack-powered playback with hls.js. Speed control, chapter navigation, mini player, and cast to other Jellyfin sessions.
OpenSubtitles built in
Search, download, and style subtitles without leaving the player. Size, font, outline, color, background opacity, and positioning.
Audio graph
Compressor and parametric EQ for your listening preference. Audio passthrough lets your receiver handle decoding when it can.
SyncPlay & casting
Join a SyncPlay group to watch together with friends, or cast to another Jellyfin session on your network.
Watch diary
Log watches with ratings, rewatch counts, and notes. Export to Markdown, JSON, or Letterboxd CSV.
Trakt.tv scrobbling
Optional Trakt.tv integration uses device-code auth with no browser redirects. Your watch history stays in sync.
Picture filters
Adjust brightness, contrast, saturation, hue, and gamma on badly-encoded sources directly in the player.
Full keyboard control
Every action can be rebound. Full keyboard navigation throughout the app, with visible focus indicators.
See it in action.
Connect. Browse. Watch.
Connect
Add your Jellyfin server by hostname and port. Jellybloom checks the connection and signs you in.
Browse
Your library loads into curated shelves and virtualized grids. Pick up where you left off or explore.
Discover
Enable TMDB and find films and shows you do not have yet. Request them straight to Sonarr or Radarr.
Watch
Hit play. The player handles subtitles, audio, bookmarks, and syncs to Trakt if you want it to.
Modern stack,
no baggage.
A Tauri v2 shell around a React 19 frontend. Vidstack and hls.js handle playback. libass-wasm renders styled subtitles. TanStack Query caches server responses. Everything is local-first.
Your server deserves a better front door.
Jellybloom is free, open source, and dedicated to the public domain. No subscriptions, no feature gates, no one monetizing your watch history.