Inspiration
This project was directly inspired by Spotify and Tinder. We aimed to combine the swiping mechanics of Tinder with Spotify’s vast music database to create a personalized playlist-generation tool. Our goal was to make music discovery more interactive and intuitive while allowing users to shape their playlists based on real-time feedback.
What it does
Tindify allows users to select how many songs they want to swipe through, giving them control over the discovery process. It presents them with randomly selected tracks, where they can swipe right to like a song or left to dislike it. As they interact with the app, a machine learning model analyzes their choices by examining numerical audio features such as loudness, speechiness, tempo, and genre. Using this data, the program generates a personalized playlist, selecting songs that are most similar to the ones the user liked while still introducing some variety.
How we built it
Tindify’s recommendation system uses k-Nearest Neighbors (KNN) to identify songs similar to those a user likes based on numerical audio features like loudness, speechiness, tempo, and genre. Each song is represented as a vector in a multidimensional space, and we calculate the Euclidean distance between songs to find the closest matches. As the user swipes, the system builds a preference profile and dynamically updates the distance matrix to refine recommendations in real time. We use Pandas for data processing and Scikit-learn to implement KNN, ensuring an adaptive and personalized playlist generation experience.
Challenges we ran into
One of the biggest challenges was handling the data in a way that produced meaningful recommendations. Determining which audio features best reflected user preferences required experimentation and fine-tuning. Another hurdle was implementing real-time updates, as integrating a continuously learning model with user interactions proved technically complex. Additionally, we had to strike a balance between personalization and exploration—ensuring that the model not only catered to the user’s taste but also introduced them to new music.
Accomplishments that we're proud of
We successfully built a functional, real-time learning system that adapts to user input, allowing for a personalized music discovery experience. The swiping interface closely mirrors Tinder’s intuitive design, making music selection feel natural and engaging. Most importantly, we created a working recommendation model that effectively generates playlists based on individual preferences: Our algorithm which uses multiple matrices filled with euclidean distance between all the songs versus liked songs and disliked songs allows us to find songs that a user is most likely to enjoy.
What we learned
This project deepened our understanding of integrating machine learning into user-driven applications, particularly in the realm of music recommendations. By using K Nearest Neighbors and cosine approximation as our Machine Learning Model, we were able to dive into the specifics of KNN and learn a lot about that. We also gained valuable experience in API usage, web development, and real-time data processing. Additionally, we learned how critical UI/UX design is when building an application that combines multiple technologies, ensuring that user interaction remains smooth and intuitive.
What's next for Tindify
Looking ahead, we plan to refine our recommendation model by incorporating more advanced machine learning techniques to improve accuracy. We also plan to get Tindify on a local host so it can be ran outside of the IDE!

Log in or sign up for Devpost to join the conversation.