AmpFire/README.md

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:

  1. Sideload-first testing on personal Fire TV devices.
  2. 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.