Spotify Group Listening App
June 2023
TLDR
- Built a full-stack web app using Python + Django and React for collaborative Spotify listening sessions.
- Integrated the Spotify Web API with OAuth2 for playback control — including song selection, play/pause, seek, and skip voting.
- Designed a real-time voting system that lets session participants collectively decide whether to skip tracks.
Project Overview
A full-stack web app that lets multiple users collaboratively control Spotify playback. One person logs in with their Spotify account, and others in the session can vote to skip songs — turning solo listening into a shared experience.
Built using React and Material UI on the frontend, and Python + Django on the backend. It integrates with the Spotify Web API using OAuth2, handling real-time state updates and vote-based control logic.

Main playback interface with real-time song updates.

Room settings page where hosts can adjust voting rules.
Code
What I Learned
- How to work with third-party APIs — including OAuth2 flows, token scopes, and rate limits.
- The importance of clear frontend/backend separation in full-stack apps.
- Authentication processes are complex :(
Contributions and Acknowledgements
Inspired by a tutorial by Tech With Tim. I extended the core idea with a custom seek bar and skip functionality, along with a full UI rework.