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.