The Vault Soundtracks - Android Playlist Creator

A collaborative playlist generation Android app designed to solve the challenge of group music selection. Using Spotify's Web API, it analyses multiple users listening data to create dynamic playlists that reflect everyone's musical tastes. Users can vote on suggested tracks, making the experience more interactive and democratic. Built with Flutter and Express.js, the app uses Firebase for real-time updates and user authentication, ensuring a smooth and engaging experience.

multiple mobile screens displaying an app UI
a smartphone on a desk displaying a homepage
three app screens, homescreen, Spotify connect screen and a join screen with a QR code
Homepage, Spotify Connect and Join via QR code (left to right)
two app screens, a playlist with track titles and album artwork, a homepage with action buttons and album artwork
Playlist session page with live voting and homepage
Streamline Group Music Selection

The primary objective of The Vault Soundtracks is to create a collaborative music experience that solves the challenge of choosing music for groups with different tastes. The app explores how Spotify listening data can be used to generate playlists that fairly reflect each group member’s preferences. By combining this data with real-time input, the project shows how technology can support more inclusive and enjoyable shared listening.

A key feature is the voting system, where users approve or reject tracks, making the process interactive and democratic. This ensures that playlists aren’t just algorithm-driven but shaped by the group’s input.

Technically, the project combines Flutter for mobile development, Express.js for backend logic and Spotify API integration, and Firebase for real-time database reads and user authentication. These tools enabled a smooth experience and effective data handling.

Through this project, I explored user-centered design in music curation systems and built a responsive, collaborative interface. It also strengthened my skills in fullstack development, third-party API use, and real-time feature implementation.

Project Outcomes

The final outcome of The Vault Soundtracks is a fully functional mobile app that allows users to generate collaborative playlists based on Spotify listening data. Users can connect their accounts, see combined music preferences, and vote on tracks to create a playlist that reflects the group’s shared taste. The integration of Flutter, Express.js, and Firebase proved effective in delivering a smooth and responsive user experience.

A significant portion of the development process focused on implementing and managing Spotify’s OAuth flow, including securely handling access and refresh tokens across sessions. This involved creating middleware and backend logic to validate tokens and protect API routes. On the frontend, I worked with Flutter to build a responsive UI while handling asynchronous data fetching and real-time updates from the Firebase NoSQL database. Structurally, I followed a layered architecture using a clear separation of concerns, organizing the app into controllers and services. This approach improved maintainability and allowed for reusable, modular code. The emphasis on clean architecture and scalable design contributed to a more organized development workflow.

Thesis: Collaborative Playlist Generation

Satisfying everyone’s preferences when selecting music for a party or road trip can often be frustrating. While existing solutions such as Spotify’s Blend and Jam offer a partial fix, they typically exclude non-premium users. This project was developed to bridge the gap by developing a mobile app that allows both free and Premium Spotify users to collaboratively generate a playlist from all their listening histories, with the option for further refinement through real-time track voting. User research identified a strong interest in blended playlist creation and revealed a lack of awareness of existing tools. The application was developed using Flutter for the Android frontend, Express.js for the backend, Firebase for authentication and a NoSQL database and the Spotify Web API for user data and playlist management. Development followed Scrum methodology, with focused sprints addressing tasks like Spotify token management, integrating live voting and user interface design. Automated unit testing using Jest confirmed the backend reliability, while manual integration testing validated core features. Future development may include integrating Spotify’s queue for alternative playback and implementing a more sophisticated algorithm for playlist generation.

India Heath
BSc (Hons) Creative Computing

I'm engaged in all aspects of application creation, from backend coding to designing engaging UIs, to ensure a seamless and interactive user experience. I tend to create things that reflect my own interests, whether that’s music, crafting, or creative tech. Outside of coding, you’ll probably find me crocheting, listening to German comedy podcasts, or diving into a new hobby that sparks my creativity.

BSc (Hons) Creative Computing