A modern music streaming client for Jellyfin servers, built for iOS and Apple Watch.
- 🎵 Gapless Playback - Seamless transitions between tracks using AVQueuePlayer
- 🔐 Quick Connect - Easy authentication with Jellyfin servers
- 🎨 Cypherpunk Design - Modern UI with iOS 26 Liquid Glass effects
- 🎧 Background Audio - Full lock screen controls and Control Center integration
- 📱 AirPlay Support - Stream to any AirPlay-enabled device
- 🔀 Queue Management - Drag-to-reorder, shuffle, and repeat modes
- ⭐ Favorites - Mark your favorite artists, albums, and tracks
- 🔍 Search - Find music across your entire library
- 📅 Year Filtering - Browse artists and albums by release year
- ⌚ Standalone Streaming - Stream music directly from Jellyfin over cellular/WiFi
- 👤 Artist-First Navigation - Browse your library by artist with year filters
- 🎵 Now Playing - Full playback controls on your wrist
- 📡 Auto-Sync - Credentials automatically sync from your iPhone
- SwiftUI - Modern declarative UI framework
- Combine - Reactive state management
- AVFoundation - High-quality audio playback with gapless support
- Keychain - Secure credential storage
- WatchConnectivity - Seamless iPhone ↔ Watch credential sync
- MediaPlayer - Lock screen and Control Center integration
- iOS 17.0+ / watchOS 10.0+
- Xcode 15.0+
- A running Jellyfin server
- Jellyfin server with Quick Connect enabled (recommended)
Coming soon! JellyAmp will be available for beta testing via TestFlight.
- Clone this repository
- Open
JellyAmp.xcodeprojin Xcode - Select your development team in the project settings
- Build and run on your device (iPhone or Apple Watch)
git clone https://github.com/satsdisco/JellyAmp.git
cd JellyAmp
open JellyAmp.xcodeproj- Open JellyAmp on your iPhone
- Choose Quick Connect or Manual Setup
- Enter your Jellyfin server details
- Start streaming!
The watch app automatically syncs credentials from your iPhone. Just open JellyAmp on your watch and start browsing your library.
JellyAmp uses a service-oriented architecture with singleton services:
- JellyfinService - API client for all Jellyfin server communication
- PlayerManager - Audio playback engine with gapless queue management
- KeychainService - Secure credential storage
- WatchConnectivityManager - iPhone ↔ Watch communication
See CLAUDE.md for detailed development documentation.
JellyAmp is a local-first app. Your credentials and data stay on your devices. We don't collect anything. We don't have servers. It's just you and your Jellyfin server.
Read our full Privacy Policy.
Contributions are welcome! Please feel free to submit a Pull Request.
JellyAmp is available under the MIT license. See the LICENSE file for more info.
- Built for the Jellyfin community
- Inspired by modern music players and cypherpunk aesthetics
- Uses Jellyfin's open API for seamless media streaming
For questions, issues, or feature requests:
- Open an issue on GitHub
- Check the Jellyfin documentation
Made with 🎵 for Jellyfin users who love great design