SpinStack is the self-hosted music tracking service that turns your Sonos playback into a private, searchable listening history. No cloud. No subscriptions. No third parties.
Built by a former Sonos engineer

Yusef Lateef
1961 · Hard Bop · 112 BPM
Self-hosters
You run your own infrastructure and prefer keeping listening data on your own hardware.
Music collectors
You want rich metadata — label, genre, ISRC — that streaming services bury or hide.
Privacy-minded
You do not want your listening history on Last.fm, Spotify, or any third-party server.
Set it up once and forget it. SpinStack watches every room on your Sonos network and logs every spin — no manual check-ins.
Every track is enriched via MusicBrainz and Deezer: release year, genre, label, BPM, ISRC, and high-res album art — cached locally.
Runs entirely on your hardware. No cloud account, no telemetry, no third parties — your listening history lives in a local SQLite file you own.
Optionally push your scrobbles to ListenBrainz, the open-source music community. Your data still lives at home.
A modern web dashboard with now playing, recent plays, top artists and albums, and listening trends over time.
Extensible by design. Drop in plugins for artwork, ListenBrainz, Last.fm bridging — or write your own against the event dispatcher.
A dense, information-rich dashboard built for music collectors. Filter by room, drill into any track, and see what's spinning in real time across every Sonos speaker in your home.





| Feature | SpinStack | Last.fm | Apple Music |
|---|---|---|---|
| Self-hosted privacy | YES | NO | NO |
| Rich metadata | YES | BASIC | — |
| Plugin extensible | YES | NO | NO |
| Last.fm bridge | OPTIONAL | NATIVE | NO |
| Subscription fee | NONE | TIERED | MONTHLY |
$ unzip spinstack-latest.zip $ cd spinstack $ python3 setup.py # setup handles dependencies + initial config # then open http://localhost:3000
Runs on any machine with Python 3.12+. A Raspberry Pi 4 is the perfect always-on companion.
SpinStack keeps everything local — no cloud account, no third-party ownership. If you still want the Last.fm social features, the optional Last.fm plugin gives you the best of both worlds.
Yes — anything your Sonos plays gets scrobbled. Spotify, Tidal, Apple Music, Sonos Radio, Pandora, and local libraries all flow through.
Any machine on your network running Python 3.12+. A Raspberry Pi 4 is the perfect low-power companion for your Sonos system.
100%. Listening history sits in a local SQLite database. SpinStack only talks to MusicBrainz / Deezer for metadata, and optionally ListenBrainz if you enable that plugin. Nothing else leaves your network.
The first SpinStack ZIP isn't out yet. Drop your email and you'll get a note the moment it ships — no newsletter, no spam, just the link.