Groove: An Unsupervised, Data Sensitive Music Recommendation Engine

Proposed the idea and led efforts to collect and store the training music library (170,000 songs). The collected data was vectorized based on the intrinsic sound-wave characteristics and used to train the unsupervised K-Means clustering algorithm. The trained algorithm is later used to make recommendations. The details about the concept, novelty, and motivation are explained in the links mentioned above.

Led the efforts to develop and train the K-Means Clustering Algorithm. Implemented a Flask server to deploy the trained model, dynamically generate the inference plots, make recommendations, and communicate with the JavaScript, HTML client. Implemented the major UI components of login and home page. Used the Spotify Developers API for training data collection, data vectorizations, and user preferences collection for getting the recommendations. Designed the system which can dynamically store and improve based on the user feedback.