This commit is contained in:
2026-05-21 00:45:10 +03:00
parent 422c03a82c
commit 54dd7e84e5
+53 -53
View File
@@ -20,7 +20,7 @@ Built for people who run their own servers. No cloud, no accounts, no subscripti
## 🏴 Why Jellybloom? ## 🏴 Why Jellybloom?
You already run a Jellyfin server. You already own the media. So why does using it still feel like navigating a web app designed by committee? You already run a Jellyfin server. You already own the media. So why does using it still feel like using a web app designed by committee?
Jellybloom is a ground-up desktop client for Windows. It talks directly to your Jellyfin server and makes browsing, discovering, and watching actually pleasant. Fast, dense, responsive, and fully under your control. Jellybloom is a ground-up desktop client for Windows. It talks directly to your Jellyfin server and makes browsing, discovering, and watching actually pleasant. Fast, dense, responsive, and fully under your control.
@@ -32,68 +32,68 @@ No cloud dependencies. No data collection. No feature gates. No one profits from
### 📺 Browse ### 📺 Browse
- **Home shelves** curate your own rows or let the app suggest based on what you watch - **Home shelves** - curate your own rows or let the app suggest based on what you watch
- **Virtualized poster grid** smooth scrolling with thousands of items - **Virtualized poster grid** - smooth scrolling with thousands of items
- **Unified fuzzy search** titles, people, collections. Saved searches stick around - **Unified fuzzy search** - titles, people, collections. Saved searches stick around
- **Quick look** right-click any poster for a peek without losing your scroll position - **Quick look** - right-click any poster for a peek without losing your scroll position
- **Notification bell** new episodes and movies, deduplicated by series so a full-season drop does not flood you - **Notification bell** - new episodes and movies, deduplicated by series so a full-season drop does not flood you
### 🎬 The player ### 🎬 The player
- **Native subtitle rendering** ASS/SSA via libass-wasm, plus SRT, VTT, and plain text - **Native subtitle rendering** - ASS/SSA via libass-wasm, plus SRT, VTT, and plain text
- **Subtitle search** find and download from OpenSubtitles without leaving the player - **Subtitle search** - find and download from OpenSubtitles without leaving the player
- **Subtitle styling** size, font, outline, color, background opacity, positioning - **Subtitle styling** - size, font, outline, color, background opacity, positioning
- **Bookmarks** drop a pin with a note, shown as dots on the scrubber - **Bookmarks** - drop a pin with a note, shown as dots on the scrubber
- **A-B loop** for study, reference, or that one perfect joke - **A-B loop** - for study, reference, or that one perfect joke
- **Chapters and trickplay thumbnails** jump around, hover the scrubber to see where you are - **Chapters and trickplay thumbnails** - jump around, hover the scrubber to see where you are
- **Speed control** 0.5x to 3x - **Speed control** - 0.5x to 3x
- **Picture filter** brightness, contrast, saturation, hue, gamma for bad encodes - **Picture filter** - brightness, contrast, saturation, hue, gamma for bad encodes
- **Audio graph** compressor and parametric EQ for quiet or loud mixes - **Audio graph** - compressor and parametric EQ for quiet or loud mixes
- **Audio passthrough** let your receiver handle decoding - **Audio passthrough** - let your receiver handle decoding
- **Quality and track menus** switch streams on the fly - **Quality and track menus** - switch streams on the fly
- **Resume prompt** asks first so you do not spoil the cold open - **Resume prompt** - asks first so you do not spoil the cold open
- **End card** next episode or related title as the credits roll - **End card** - next episode or related title as the credits roll
- **Mini player** pop out to a floating window - **Mini player** - pop out to a floating window
- **Sleep timer** fades out after your chosen duration - **Sleep timer** - fades out after your chosen duration
- **"Still watching?"** gently checks in after a few episodes - **"Still watching?"** - gently checks in after a few episodes
- **Downloads** save for offline playback - **Downloads** - save for offline playback
- **Cast** send to another Jellyfin session on your network - **Cast** - send to another Jellyfin session on your network
- **SyncPlay** watch together with friends, playback stays locked - **SyncPlay** - watch together with friends, playback stays locked
- **Trakt.tv scrobbling** optional, device-code auth, no redirects - **Trakt.tv scrobbling** - optional, device-code auth, no redirects
- **Customizable keyboard shortcuts** rebind everything - **Customizable keyboard shortcuts** - rebind everything
### 📄 Detail pages ### 📄 Detail pages
- **Hero** backdrop, poster, logo overlay, ratings, action buttons - **Hero** - backdrop, poster, logo overlay, ratings, action buttons
- **Cast and crew** clickable filmographies with in-library matches highlighted - **Cast and crew** - clickable filmographies with in-library matches highlighted
- **Composer block** because the score matters - **Composer block** - because the score matters
- **Awards** from Wikidata - **Awards** - from Wikidata
- **Filming locations** mapped with Leaflet - **Filming locations** - mapped with Leaflet
- **Reception** aggregates IMDb, TMDB, Rotten Tomatoes, Metacritic, and your own ratings - **Reception** - aggregates IMDb, TMDB, Rotten Tomatoes, Metacritic, and your own ratings
- **Reviews, trailers, trivia, tech specs** from TMDB, YouTube, Wikipedia - **Reviews, trailers, trivia, tech specs** - from TMDB, YouTube, Wikipedia
- **Collection strip** franchise entries - **Collection strip** - franchise entries
- **Series status** air days, next episode, season count, production state - **Series status** - air days, next episode, season count, production state
- **Anime filler detection** flags filler and mixed-canon episodes - **Anime filler detection** - flags filler and mixed-canon episodes
- **Versions selector** pick between multiple files for one title - **Versions selector** - pick between multiple files for one title
- **Watch timeline** your personal history from the diary - **Watch timeline** - your personal history from the diary
- **Personal section** your ratings, rewatch counts, notes. Stays local - **Personal section** - your ratings, rewatch counts, notes. Stays local
- **Diary** log watches with date, rating, rewatch flag. Export to Markdown, JSON, or Letterboxd CSV - **Diary** - log watches with date, rating, rewatch flag. Export to Markdown, JSON, or Letterboxd CSV
- **Request button** ask Radarr or Sonarr for missing titles without leaving the page - **Request button** - ask Radarr or Sonarr for missing titles without leaving the page
### 🔭 Discover ### 🔭 Discover
Find things you do not already own. Needs a free TMDB API key. Find things you do not already own. Needs a free TMDB API key.
- **Tonight hero** personalized spotlight based on your top genre - **Tonight hero** - personalized spotlight based on your top genre
- **Spotlight hero** trending pick of the day - **Spotlight hero** - trending pick of the day
- **Mood chips** ten vibes that resolve to a filtered row - **Mood chips** - ten vibes that resolve to a filtered row
- **Roulette** spin for a random highly-rated title - **Roulette** - spin for a random highly-rated title
- **Decade strips** the 90s, the 80s, etc. - **Decade strips** - the 90s, the 80s, etc.
- **Canonical lists** top rated, cult classics, upcoming - **Canonical lists** - top rated, cult classics, upcoming
- **On this day** titles that premiered today - **On this day** - titles that premiered today
- **Library gap finder** highest-rated missing titles in genres you already watch - **Library gap finder** - highest-rated missing titles in genres you already watch
- **Browse grid** by genre, language, studio, network. Inline expansion - **Browse grid** - by genre, language, studio, network. Inline expansion
- **Advanced filters** year range, rating, vote count, sort order - **Advanced filters** - year range, rating, vote count, sort order
### 👤 Profile and stats ### 👤 Profile and stats
@@ -120,7 +120,7 @@ Jellybloom targets WCAG 2.2 AAA conformance because a media client that only wor
| **Full keyboard navigation** | Every interactive element reachable and operable without a mouse | | **Full keyboard navigation** | Every interactive element reachable and operable without a mouse |
| **Focus management** | Visible focus indicators on all controls, focus traps in modals with restore on close | | **Focus management** | Visible focus indicators on all controls, focus traps in modals with restore on close |
| **High contrast** | All themes meet AAA contrast ratios (7:1+ for normal text) | | **High contrast** | All themes meet AAA contrast ratios (7:1+ for normal text) |
| **Reduced motion** | Respects prefers-reduced-motion all animations disabled when active | | **Reduced motion** | Respects prefers-reduced-motion - all animations disabled when active |
| **Screen readers** | ARIA live regions for dynamic content, proper labels on icon-only buttons | | **Screen readers** | ARIA live regions for dynamic content, proper labels on icon-only buttons |
| **Touch targets** | All interactive controls meet 24x24px minimum | | **Touch targets** | All interactive controls meet 24x24px minimum |