📈 GH Trending Explorer 🎲 Surprise me

← all repos

kota-zo / myspoti

git clone https://github.com/kota-zo/myspoti.git

Native Android client for Spotify, built with Jetpack Compose

—
stars, 24h
+157
stars, 7 days · #340
+157
stars, 30 days · #1,551
157
★ total · +157% this week
9
forks · 22 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageKotlin
LicenseGPL-3.0
Created2026-10-14 (6d ago)
Last push1d ago
Watchers3
OwnerUser

GitHub topics

Links

README excerpt
# Myspoti
**Spotify on Android, free account, no ads.** A native Jetpack Compose client with synced lyrics and official music videos.
 ⬇ Download the latest APK 
The official Spotify Web Player runs in a hidden WebView and does the actual playback, with the phone's DRM and Spotify's own reporting. The native UI drives it, so plays count on your account exactly as they do in a browser. You always sign in yourself, on Spotify's own login page.
## Features
- **No ads.** The ad audio is refused, so the player skips each ad within a second. It works with a free account: no Premium, no patched Spotify app, and the DRM is left untouched.
- Home (with Music, Podcasts and Audiobooks filters), search (songs, artists, albums, playlists, podcasts, episodes), **New releases**, Spotify's real **Browse** categories, library (folders, sorting, drag to reorder), artist, album and playlist pages, with Spotify's official labels.
- **Podcasts and audiobooks**: shows, episodes, chapters, Your Episodes, playback speed.
- **Jam**: join a Jam with an invite link.
- Synced lyrics: Spotify first, then LRCLIB; optionally Apple Music (word by word), NetEase and Genius.
- **Your recap**: your top tracks, artists and albums, counting Spotify, downloads and local files. It stays on your phone.
- Official music videos, when one exists. The video plays muted, in sync with the song. The app only uses YouTube videos marked as official clips, and shows nothing when no clip exists.
- Spotify Connect, media notification, lock screen, Bluetooth and Android Auto.
- **Offline downloads.** Download a song, an album, a playlist or your Liked Songs, then play them without a connection. The audio comes lossless (FLAC, 16-bit or 24-bit hi-res when it exists), or as Tidal's own AAC for the smallest files: the very recording, found on Tidal (or Qobuz) by its exact ISRC, through the same signed servers as SpotiFLAC Mobile's extensions, after a one-off verification in Settings. Each file is checked against the recording's official preview (looked up by ISRC), so a live take, a remix or a cover is rejected. Files stay in Myspoti's private storage.
- **Sound quality and Settings.** Streaming quality (Automatic, Low, Normal, High) and download quality are picked at the first start and kept in one Settings page, with data saver, battery, display and language.
- **Connect with your headphones.** Their name shows instead of "This phone", one tap sends the sound back to the speaker, and a quality badge shows what plays now. The music pauses when headphones or Bluetooth go away.
- English, French and Italian.
## How it works
The app is split in two:
- **`:api`** is the contract the UI talks to: plain Kotlin models and interfaces (player, search, catalog, library, playlists, home, podcasts, users, lyrics, devices, Jam).
- **`:api-spotify`** implements it on Spotify's Web Player. Playback stays in the official player, in a hidden WebView (`:host-android`), driven by a small bridge script. Catalog, search