Skip to content

Spooty

A personal, native Android client for the Spotify Web Player. A hardened WebView that talks to the real web player, with Spicetify-style CSS & JS injection, quietly-muted ads by default, bundled retro themes, and a native settings screen.

Why Spooty?

The official mobile apps push you down a curated path. Spooty hands you the real web player β€” every feature the browser gives you β€” and lets you bend it to your liking the same way Spicetify does on desktop.

🎨 Themes

  • Bundled: win95, spotify-dark, retro-player
  • Spicetify-style color.ini + user.css
  • Switch live from the app settings

πŸ”‡ Quirky ad handling

  • Ads are muted by default β€” no network interception
  • Optional skip behind an explicit toggle (guarded, rate-limited)

βš™οΈ Native settings

  • Ad mode, theme, background playback
  • Desktop user-agent, DNS preconnect, renderer prewarm
  • Opened straight from a button inside the player

πŸ” Hardened WebView

  • No file/universal access, no mixed content, no cleartext
  • SSL errors always cancelled
  • Every JSβ†’native method is gated by @JavascriptInterface

Playback & background audio

The WebView's own Spotify <audio> element owns the real stream. A lightweight foreground MediaSession service mirrors the state to the OS, so you get lockscreen controls and uninterrupted background playback β€” without ever re-hosting the audio natively.

Personal use

Spooty is a personal, non-distributed app built to be sideloaded. It interacts with Spotify's web player in ways the official apps don't, so don't publish it. See the overview for the full picture.

**[Explore the docs β†’](overview.md)**  |  **[Build it yourself β†’](building.md)**