Our project consists in clustering songs belonging to a user's playlists and outputting new playlists. The algorithm takes as an input the number of playlists the user wants to create and proceeds to extract the songs from the playlists the user chooses. The basic data flow is as follows:
User selects which playlists to extract and how many to create -> songs are clustered into new playlists
+-- backend -> Flask API server
| |
| +-- server.py -> server entrypoint
|
+-- frontend -> React frontend
|
+-- EDA -> initial EDA file
|
+-- Sptofy Clustering -> clustering testing/tuning
As of right now the app can only be run locally. to view setup instructions refer to the MVP guide. However, authentication can not be run as we have submitted a request to extend the users that can authenticate that go beyond our development.
WARNING: the app currently functions so clicking "Create" will in fact create a playlist on your user account.
The challenges we anticipate in developing a properly functioning model are:
- User authorization to interact with the Spotify Web API
- Data extraction, both in gathering the data and choosing what data to use, hence point 3.
- Feature extraction and engineering
- Connecting a React-based frontend to a Flask API
- Full-stack development
The skills we will need to learn are:
- Exploratory Data Analysis using Pandas, Seaborn, and Matplotlib
- Feature Extraction to improve accuracy and reduce training time
- Model building
- Key Performance Indicators to measure our progress
- Full stack web development
Niccolo Nobili
- Pitt CS, 2025
- NIN49@pitt.edu
- Check out my Personal website or LinkedIn
Amaan Kazi
- Pitt Bioengineering, 2022
- ank211@pitt.edu
- Check out my LinkedIn
Pranay Jain
- Pitt Bioengineering, 2022
- Prj19@pitt.edu
- Check out my Personal website or LinkedIn
Adam Powley
- Pitt Computational Biology, 2024
- ASP102@pitt.edu