[GSOC 2026]: Integrate Remote Playback and Listening now in ListenBrainz Android

Contact Information

Name: Rajeev Kumawat
IRC: rajeev-k47
Email: rajeevkumawat2007@gmail.com
GitHub: rajeev-k47
LinkedIn: Rajeev Kumawat | LinkedIn

Hi everyone,

I’ve been working on a GSoC 2026 proposal for “Integrate Remote Playback and Listening
Now in ListenBrainz Android” and wanted to share it here for feedback before finalizing
it.

Project Summary

The main issue I’m focusing on is that the app already supports local playback, server-
side Listening Now, and remote playback through apps like Spotify and YouTube Music,
but they still work feel like separate parts. Because of that, the playback area in the app
cannot always show the correct state or clearly tell whether playback is happening on this device or another one, and remote playback behaves more like one track playback than a proper session.

In my proposal, I’m trying to connect these pieces in a cleaner way so the app can decide
the active playback state from one place.

What I Plan to Work On

The idea is to bring all playback signals into one common flow and build a single resolver
around them. That would let the app decide in one place whether the active state should
come from local playback, Listening Now, or a remote playback session running on
this device.

Another part of the proposal is to make remote playback work more like a proper session
instead of just starting one song at a time. The plan there is to build a queue from
ListenBrainz playlists, persist it locally, restore it when the app is reopened, and
connect it back to the same playback flow.

Along with that, the front layer UI would be updated so these states are shown more
clearly, and the playback-state or queue logic would be kept inside a shared Kotlin
Multiplatform module, while Spotify, YouTube, Room, and listen submission remain on the
Android side.

I’ve planned the timeline around this order, starting with the playback foundation and
resolver, followed by Listening Now integration, and then remote playback, queue
persistence, and recovery.

I’ve been contributing to ListenBrainz Android since January 2026. Some of my work can
be found here:
PRs: [here], Commits: [here]

Full proposal

Any suggestions from mentors or the community would be really helpful :slightly_smiling_face: