Android · Kotlin · Open source · MIT

Music for the places you love.

An Android app that saves Spotify, YouTube Music, SoundCloud, and Jellyfin tracks as private location-based pins on an interactive map. Features an on-device mood engine, Android Auto support, and encrypted Keystore security.

  • Android 8.0+
  • Kotlin
  • Jetpack Media3
  • OpenStreetMap
  • Android Auto
Soundtrail map pin artwork
Soundtrail · Location-based music companion
Location PinsPin favorite songs to real-world coordinates
On-Device MoodsNatural language AI generates mixes from your library
Android AutoBrowse and play your soundtrack in the car safely

Multi-Service Music & Geospatial Memory

Your music, anchored to your memories.

Connect multiple music providers without vendor lock-in. All tokens are encrypted using hardware-backed Android Keystore.

Multi-Source Streaming

Integrates with Spotify (PKCE), SoundCloud (OAuth 2.1), Jellyfin personal servers, and YouTube Music. Tap pins to launch playback or listen directly.

On-Device Mood Mixes

Type how you feel ("warm evening drive", "focused coding session") and the local AI reads the sound profile to rank and queue matching tracks from your own library.

Android Auto Built In

Soundtrail is a certified Android media app for your vehicle dashboard: browse pins, play custom playlists, and control playback with native car controls.

Managed Backups & Sync

Debounced on-device snapshots keep your pins safe in private storage. Export/import portable JSON or enable optional end-to-end encrypted cloud sync.

Installation & Setup

Install and configure Soundtrail.

Build the APK using Android Studio and Gradle, then connect your preferred music services.

Installation Steps

  1. 1. Clone the repository

    git clone https://github.com/mob5824m-wq/SoundTrail.git && cd SoundTrail
  2. 2. Compile with Gradle

    ./gradlew :app:assembleDebug
    Requires JDK 17 and Android SDK Platform 35.
  3. 3. Install APK on device or emulator

    adb install app/build/outputs/apk/debug/app-debug.apk
    Requires Android 8.0 (API 26) or newer.

How to Use

  1. 1. Connect your music accounts

    Open the Connect tab to configure Spotify (Client ID with PKCE), SoundCloud, or your self-hosted Jellyfin server (http://192.168.x.x:8096).

  2. 2. Drop location pins on the map

    Tap any place on the interactive Map tab to anchor a song to that location with a personalized memory note.

  3. 3. Generate an AI mood mix

    Visit the Mood tab, describe your current vibe (e.g., "rainy drive home"), and listen as Soundtrail ranks and queues tracks from your library.

  4. 4. Car playback with Android Auto

    Connect your phone to any Android Auto-compatible car to browse pins and playlists directly from the dashboard display.

Architecture & Privacy

Private by design.

Your coordinates and songs stay on your device. Soundtrail never uploads your location or credentials without your explicit consent.

01 / ENCRYPT

Android Keystore

OAuth tokens, client secrets, and passwords are encrypted with hardware-backed Android Keystore keys.

02 / LOCAL

On-device AI

The mood engine runs directly on the phone without sending text, preferences, or library records to external AI servers.

03 / CONTROL

Autonomous backups

Keep up to 10 automated local snapshots, export standard JSON, or self-host your own end-to-end encrypted sync server.