The idea of tracking and sharing what I listen to has always fascinated me. I’ve been a long-time user of Last.fm, but I wanted something more open, decentralized, and built on modern protocols. That’s why I decided to build my own Last.fm alternative—a social music tracking platform running on Bluesky’s AT Protocol.
Now, I’m inviting early adopters to join the limited beta and help shape the future of this project! 🚀
Why Build a Last.fm Alternative?
Last.fm has been around for years, but I saw some limitations:
Walled garden: No true interoperability with decentralized social networks.
Limited control: Users don't fully own their listening data.
Feature stagnation: The core experience hasn't evolved much.
The Bluesky AT Protocol (ATProto) offers a decentralized social graph where users own their content and identity, making it the perfect foundation for a next-gen music scrobbling service.
How It Works
This project brings music tracking (scrobbling), sharing, and stats to Bluesky's AT Protocol. Here’s a high-level breakdown:
1️⃣ Scrobbling Tracks
I've built my own Rockbox fork that can send scrobbles automatically to the API.
It also supports Spotify, local players, and streaming services (via future integrations).
The API accepts “Now Playing” and track history data.
2️⃣ Bluesky AT Protocol for Social Feeds
Instead of a centralized database, users’ listening data is posted as ATProto records, making them portable.
Users can see a feed of their friends’ recently played tracks—just like a decentralized Last.fm friends list.
Playlists, top artists/albums, and listening trends are stored as ATProto posts, which can be discovered and shared.
3️⃣ User Trends and Analytics
Weekly/monthly listening trends (top artists, albums, tracks).
Open API for users to export their data.
Tech Stack
To ensure scalability, performance, and flexibility, I chose the following stack:
- Backend: Node.js (Hono.js) – A fast, lightweight framework for handling API requests.
- Database: Xata (PostgreSQL) – A managed database for storing scrobbles and user data.
- Analytics: DuckDB – Efficient in-memory analytics for trends and insights.
- Caching: DragonflyDB – A Redis-compatible, high-performance caching layer.
-
Microservices (Rust):
- Spotify Watcher: Tracks the user’s currently playing Spotify song.
- analytics Processor: Handles scrobbling data aggregation.
- Protocol: Bluesky ATProto for decentralized data.
- Frontend: React for the web UI.
- Auth: Bluesky DID (Decentralized Identifiers).
What's Next?
I'm actively improving the platform and adding new features, but my long-term goal is to open-source the project so anyone can contribute, self-host, or build upon it. I believe in open and decentralized music tracking, and I’d love for the community to help shape it!
Join the Beta!
This project is still in its early days, but I’m opening a limited beta for those interested in trying it out. If you love music and want to explore a decentralized Last.fm alternative, sign up here:
I'd love your feedback! What features would make this the ultimate music tracking service? Let's discuss in the comments or on Bluesky.
🔵 Find me on Bluesky: @tsiry-sandratraina.com
Top comments (1)
Good job @tsirysndr 👌🏽👏🏽