https://github.com/michaeldvinci/swiftshelf-tvos
tvOS client for Audiobookshelf built in Swift
https://github.com/michaeldvinci/swiftshelf-tvos
appletv audiobookshelf self-hosted selfhosted tvos tvos-app
Last synced: about 2 months ago
JSON representation
tvOS client for Audiobookshelf built in Swift
- Host: GitHub
- URL: https://github.com/michaeldvinci/swiftshelf-tvos
- Owner: michaeldvinci
- Created: 2025-08-02T20:26:38.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2025-08-05T16:19:22.000Z (2 months ago)
- Last Synced: 2025-08-21T01:35:54.684Z (about 2 months ago)
- Topics: appletv, audiobookshelf, self-hosted, selfhosted, tvos, tvos-app
- Language: Swift
- Homepage:
- Size: 29 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SwiftShelf

SwiftShelf is a tvOS Audiobookshelf client built in SwiftUI. It combines fast, focused navigation of your audiobook libraries with authenticated playback [eventually], presenting your collection in a sleek carousel interface.
## Key Features
- **Authenticated Connection**
Secure login using your Audiobookshelf host and API key. All API requests use Bearer authentication, and nothing sensitive is stored beyond runtime memory.- **Library Selection & Persistence**
Choose from your available Audiobookshelf libraries. The app remembers your last selected library and skips the selector if already chosen.
- **Recent Items Carousel**
Browse your most recently added audiobooks in a horizontally scrolling, focus-aware carousel. Each item displays large cover artwork, title, author, and runtime.

- **User-Configurable Item Limit**
Adjust how many recent/in-progress items are shown per library (saved as a persistent app setting).
- **Search**
Similar search functionality to the ABS web client
- **Continue Listening (In-Progress) Carousel**
A separate carousel shows items you haven't finished, helping you pick up right where you left off.- **Authenticated Cover Fetching**
Cover images are fetched securely from the Audiobookshelf `/cover` endpoint with your credentials, and cached in-memory for smooth, fast browsing.- **Detailed Item Popup**
Selecting an item opens a detailed view with cover art, title, author, series, duration, and more metadata.- **Integrated Media Player - eta son**
Selecting an item opens a playback interface for streaming your audiobooks directly from Audiobookshelf (where supported).- **Optimized for tvOS Navigation**
All carousels and lists are remote-friendly and visually respond to focus changes for a fluid tvOS experience.## Example Flow
1. **Login**: Supply host and API key on the login screen.
2. **Library Selection**: Choose which library(ies) you want to work with.
3. **Browse**: SwiftShelf shows the latest items in a carousel with artwork, title, author, and duration.## Requirements
- tvOS Simulator or device
- Audiobookshelf instance with API access (host URL and API key)## Configuration
- `host`: Your Audiobookshelf base URL (e.g., `https://library.example.net`)
- `apiKey`: Bearer API key from your Audiobookshelf user settings