Spinslip
An iOS app that puts your Apple Music listening on your own website: recently played, albums in rotation, and Apple's own lifetime play counts. No Last.fm in the middle.
Every scrobbler routes through Last.fm. If you want your Apple Music listening on a page you own, the standard answer is to hand your history to a third party and embed their widget. Spinslip does it directly: an iOS app reads Apple Music on the phone, posts to a database I control, and the card on my /now page reads that. Nothing else is in the chain.
The app is small. It polls the recently-played feed, diffs it against the last track it saw, and uploads whatever is new. A second pass does the same for albums and playlists. Swift and MusicKit on the phone, an edge function and a Postgres table on the server, and a few hundred tests holding the edges down.
The best part was an accident. Apple keeps a lifetime play count for every song in your library and it goes back years: mine reaches August 2023, 3,102 plays across 286 songs, and all of it arrived on the very first sync. A scrobbler that starts counting the day you install it can never tell you that, and it took me a week of building the slow version before I noticed the number was already sitting there.
One limit worth stating plainly, because it decides whether this is any use to you. Those counts exist only for songs saved to your library. Stream an album without adding it and Apple has no library row to count, so it lands in recently-played and nowhere else. I measured that rather than assumed it: five captures ran after playing a catalog album I do not own, and the count table held zero rows for all seven tracks. It is not something a different app could fix, it is where Apple keeps the number.
That is also why this is an iOS app and not a web page. Play counts come from MusicKit on the device. Apple’s HTTP API does not expose them, so there is no version of this that runs purely in a browser.
It runs on my phone, and the card it feeds is live. It is not on the App Store yet, and I keep going back and forth on whether it should be. Setting it up today means an Apple developer account, a MusicKit registration, and your own database, which is fine for me and almost certainly too much to ask of anyone else. Packaging that away is a real amount of work and I am not sure yet who it is for. If you landed here because you were searching for exactly this, that is genuinely useful to know, and sigwrench@gmail.com reaches me.