Skip to content

A free and open source music player for Jellyfin powered by React Native

License

Notifications You must be signed in to change notification settings

anultravioletaurora/Jellify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jellify App Icon

🪼 Jellify

publish-ios-beta

jellify (verb) - to make gelatinous
see also

Jellify is a free and open source music player for Jellyfin. Built with React Native, Jellify provides a user experience that feels familar to other popular music apps and a has featureset to match

Jellify requires a connection to a Jellyfin server to work.

🤓 Background

I was after a music app for Jellyfin that showcased my music with artwork, had a user interface congruent with what the big guys do, and had the ability to algorithmically curate music (not that you have to use Jellify that way). I also wanted to create a music app that could handle my extremely large music libraries (i.e., 100K+ songs) and not get bogged down.

This app was designed with me and my dad in mind, since I wanted to give him a sleek, one stop shop for live recordings of bands he likes (read: the Grateful Dead). The UI was designed so that he'd find it instantly familiar and useful. CarPlay / Android Auto support was also a must for us, as we both use CarPlay religiously.

TL;DR Designed to be lightweight and scalable, Jellify caters to those who want a mobile Jellyfin music experience similar to what's provided by the big music streaming services.

💡 Features

✨ Current

  • Available via Private Testflight
  • iOS support
  • Light and Dark modes
  • Home screen access to previously played tracks, artists, and your playlists
  • Jellyfin playback reporting and Last.FM Plugin support
  • Library of Favorited Music, not too dissimilar to how streaming services handle your 'library'
  • Full playlist support, including creating, updating, and reordering

🛠 Roadmap

👀 Lemme see!

Home

Home

Jellify Home

Library

Library

Library

Library Artists

Library Artists

Artist

Artist

Similar Artists

Similar Artists

Album

Album

Track Options

Track Options

Playlist

Playlist

Search

Search

Player

Player

Queue

Favorite Track

CarPlay (Sneak Preview)

Now Playing (CarPlay)

On the Server

Playback Tracking

🏗 Built with:

🎨 Frontend

Tamagui
React Navigation
React Native Vector Icons

  • Specifically Material Community Icons

React Native CarPlay
React Native Blurhash

🎛️ Backend

Jellyfin SDK
Tanstack Query
React Native Track Player
React Native MMKV
React Native File Access

👩‍💻 Monitoring

GlitchTip

💜 Love from Wisconsin 🧀

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 :)

🏃‍♀️Running Locally

  • iOS Instructions

    • Clone this repository
    • Run npm run init to install npm packages, to install bundler and required gems, and to install CocoaPods
    • In the ios directory, run fastlane match development --readonly to fetch the development signing certificates
      • You will need access to the Jellify Signing private repository
  • Android Instructions

    • Coming Soon™️

🙏 Special Thanks To

  • The Jellyfin Team for making this possible with their software, SDKs, and unequivocal helpfulness
  • All contributors of Finamp. Jellify draws inspiration and wisdom from it, and is another fantastic music app for Jellyfin
  • The folks in the Margelo Community Discord for their assistance
  • Tony, Trevor, Laine and Jordan for their testing and feedback from the early stages of development
  • Alyssa, for your design knowledge and for making the artwork for Jellify. You’ve been instrumental in shaping it’s user experience