Nicholas Khorasani

Computer Engineer | Software Engineer

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 screen showing current song details

Main playback interface with real-time song updates.

Room settings update screen

Room settings page where hosts can adjust voting rules.

Code

💻 GitHub Repository

What I Learned

  1. How to work with third-party APIs — including OAuth2 flows, token scopes, and rate limits.
  2. The importance of clear frontend/backend separation in full-stack apps.
  3. 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.