
jellify (verb) - to make gelatinous
Jellify is a free and open source music player for the Jellyfin Media Server. Built with React Native, it is available for both iOS and Android.
Jellify requires a connection to a Jellyfin Media Server server to work. See also
Showcasing the artwork of your library, it has a user interface congruent to what the big guys do. Jellify also provides algorithmic curation of your music, driven by Jellyfin's Instant Mix and Suggestions APIs.
Background
This app was designed with me and my dad in mind. I wanted us to have a sleek, one stop shop for live recordings of bands we like (read: the Grateful Dead). The UI was designed so that we'd find it instantly familiar and useful. CarPlay / Android Auto support was also a must for us, as we both use CarPlay religiously.
These projects are not required to use Jellify, but are recommended by us to enrich your Jellyfin music experience!
Head to releases to download the required .APK directly.
Also there is obtanium to which you can add Jellify as a repo to use the above releases as a repository.
For Obtanium, click "Add App", put "https://github.com/Jellify-Music/App" as the source URL, and on the next screen toggle "prereleases". You'll now be easily able to keep your local copy in sync with new releases.
Join the TestFlight and install the latest version from there
Head to releases to download the required .IPA directly.
Install via Altstore or your favorite sideloading utility
Screenshots taken on iPhone 15 Pro Max

Artists
Artist View

Similar Artists

Album Views

Track Options & Add to Playlist




*This is subject to change
Tamagui\ Figtree\ Pulsar\ React Navigation\ React Native Blurhash\ React Native CarPlay\ React Native Drax\ React Native Reanimated\ React Native Toast Message\ React Native Vector Icons
Jellyfin SDK\ Tanstack Query\ React Native DNS Lookup\ React Native File Access\ React Native Google Cast\ React Native MMKV\ React Native Nitro Fetch\ React Native Nitro Modules\ React Native Nitro OTA\ React Native Nitro Player\ React Native URL Polyfill\ Zustand
All logging and metrics gathering is opt-in by default. This is merely here to help us make Jellify better.
All logs and metrics are completely anonymized. No data can be traced back to you.
Unhandled exceptions and captured errors are reported to the SaaS GlitchTip instance via @sentry/react-native. Error reporting is initialized at app startup and is disabled unless you have opted in to sending metrics.
All logging goes through three shared utilities in src/utils/logging/index.ts, each tagged with a LoggingContext (e.g. Initialization, Playback Reporting, Queue, Favorites):
| Function | Severity | Sentry behaviour |
|---|---|---|
captureError(error, context, message?) |
Error | Reports exception via Sentry.captureException when metrics are enabled |
captureWarning(context, message, error?) |
Warning | Reports message at warning level via Sentry.captureMessage when metrics are enabled |
captureInfo(context, message) |
Info | Console-only — never sent to Sentry |
In production builds, all console.* methods are replaced with no-ops so that no debug output leaks — logs only surface through the explicit capture call path.
Anonymous usage signals are sent via @typedigital/telemetrydeck-react. The only signal currently sent is Jellify launched on app open. All signals are anonymous (clientUser: 'anonymous') and are only sent when you have opted in to metrics.
This is undoubtedly a passion project of mine, and I've learned a lot from working on it (and the many failed attempts before it). I hope you enjoy using it! Feature requests and bug reports are welcome :)
Jellify is free, open source, and always will be. You can support development via Patreon, GitHub Sponsors, or Ko-Fi starting at $1.
All publicly paid supporters on GitHub and Patreon get their name displayed in the app's Settings as a thank-you.
Patreon supporters on the $5 or $10 tier who stay subscribed for 3 months get a Jellify sticker mailed to them. A small, physical thank-you for supporting a passion project.