1.7 KiB
1.7 KiB
AmpFire
AmpFire is a Fire TV / Android TV music client for self-hosted Subsonic-compatible servers such as Navidrome.
The project is intentionally built for two tracks:
- Sideload-first testing on personal Fire TV devices.
- Publish-ready architecture for eventual Amazon Appstore submission.
Current status
This is a first-pass app scaffold with:
- Fire TV / Android TV launcher support.
- Kotlin + Jetpack Compose for TV UI.
- Media3 playback service architecture.
- Retrofit-based Subsonic API client.
- Broad Subsonic endpoint coverage in
SubsonicApi. - Server/login settings flow.
- Browse/search/library/now-playing UI shells.
- Publish-minded privacy/security notes.
- Gradle wrapper and Android build configuration verified with a real debug APK build.
Intended stack
- Kotlin
- Android Gradle Plugin
- Jetpack Compose for TV
- AndroidX Media3 / ExoPlayer
- Retrofit + kotlinx.serialization
- DataStore for settings
- Coil for artwork
Build
With Java + Android SDK installed:
./gradlew assembleDebug
Verified on the initial scaffold with:
BUILD SUCCESSFUL in 1m 53s
35 actionable tasks: 35 executed
For sideloading:
adb connect FIRE_TV_IP:5555
adb install app/build/outputs/apk/debug/app-debug.apk
Security / publishing notes
- Do not log Subsonic stream URLs; they contain auth parameters.
- Prefer token/salt authentication over plain password parameters.
- Release builds should not bypass TLS validation.
- Review builds should provide either a demo server or reviewer credentials.
- App listing should describe AmpFire as a self-hosted music client, not a free music source.
Roadmap
See docs/ROADMAP.md.