I loved Last.fm. The scrobbling, the charts, seeing what your friends were actually listening to — that site understood that music is social. It's still around, but it doesn't hit the same anymore.
So I built beatbrain. It's my take on social music discovery. Find what's hot, share your favorites, see what your friends are into. That's it. No algorithm trying to keep you scrolling. Just music and the people who care about it.
I started building this in 2024 and I haven't stopped. It's a side project that became a real thing.
Yeah, beatbrain is heavily Spotify-integrated. I'm fine with that. I worked at Spotify from 2011-2014 as their first Developer Advocate. I believe in their catalog and their APIs.
But I also wanted to show you things Spotify doesn't. Who played bass on that track. Who produced it. What key it's in. How loud it gets. That data comes from MusicBrainz, the open music encyclopedia. I built a Go client library to talk to it.
Click any track and you'll see the Audio DNA — danceability, energy, acousticness, all of it visualized. Plus a loudness map of the entire song. Plus full liner-notes-style credits. That's the stuff I always wanted to see and couldn't find anywhere.
The discover page aggregates hot releases from Spotify New Releases, Billboard, HotNewHipHop, and Pitchfork. A Go service called melodex scrapes these sources, scores the tracks, and stores them in Firestore.
When you click a track, another Go service called occipital (named after the part of your brain that processes visual information) fans out parallel API calls to Spotify and MusicBrainz, assembles everything, caches it, and returns it in about 200ms. It used to take 3 seconds. I wrote about the rewrite.
I added podcast discovery because I listen to a lot of podcasts and Spotify's browse experience is... fine. beatbrain indexes shows from 100+ categories — and I mean weird ones. Linguistics. Cybersecurity. Firefighting. DJing. Philosophy. If Spotify has a category for it, I indexed it.
Everything is open source. The frontend is Next.js on Vercel. The backend is Go on Cloud Run. The scrapers use Chromedp for headless browsing. I use AI to build — Claude with the impeccable design skills for the frontend, and my own agent magerbot for everything else.
I'm @mager everywhere. beatbrain is @beatbrainxyz. I write about building stuff at mager.co.
If you find a bug, want to contribute, or just want to talk about music — I'm around. ✌️