Skip to content

mondominator/sappho-android

Repository files navigation

Sappho

Native Android client for the Sappho audiobook server. Built with Kotlin and Jetpack Compose.

Get it on Google Play

Highlights

  • Chromecast — Cast to any Cast-enabled device
  • Android Auto — Full browsing and playback while driving
  • Offline mode — Download books for listening without connectivity
  • Catch Me Up — AI-generated series recaps before starting the next book
  • Admin tools — Library scanning, user management, and AI configuration from mobile

Requirements

  • Android 8.0+ (API 26)
  • A running Sappho server instance

Installation

Download from Google Play or grab the APK from Releases.

On first launch, enter your server URL and credentials.

Building from source

export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home"
./gradlew assembleDebug

Requires Android Studio, JDK 17, and Android SDK API 34.

Architecture

MVVM + Clean Architecture with Hilt DI. Jetpack Compose UI, Retrofit networking, Media3 for playback, Coil for image loading.

app/src/main/java/com/sappho/audiobooks/
├── data/           # API services, repositories
├── domain/         # Models
├── presentation/   # Screens, ViewModels, theme
├── service/        # Background playback
├── cast/           # Chromecast integration
├── download/       # Offline download manager
└── di/             # Dependency injection

CI/CD

GitHub Actions builds on every push to main and deploys to Google Play internal testing. Tagged releases (v*) publish APKs to GitHub Releases.

Contributors

Roberto Diaz
🧪 Testing
Kev Beaudin
🧪 Testing
Chad Beaudin
🧪 Testing
Sara Johnson
🧪 Testing

License

MIT

About

Sappho Android audiobook app - client for Sappho server

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors