Inspiration

We often diversify our song choices regularly as we embrace our surroundings. For those who love to live in the moment, Vibe provides a platform to create memories with songs that fit the atmosphere.

What it does

By extracting a color scheme from a given image, we generate a mood that fits the input and generate a custom playlist based on genres associated with the predicted "vibe".

How we built it

We utilized k-means clustering for classifying the most distinct colors in the image using scikit-learn with images as our input to determine the mood. Connecting to the Spotify API, we determined genres to suit certain moods and shortlisted 9 songs to be represented in our generated playlist. Using Figma wireframes, Flask, React.js, and CSS, we designed an interface that allows users to provide an image of their choice and will share an interactive playlist that matches the predicted "vibe" utilizing the image provided as a background.

Challenges we ran into

Since all members of the team had more experience with back-end development, we had to spend a considerable amount of time debugging issues with the interface. Additionally, predicting a "vibe" was challenging given the moods we aimed to predict with color schemes combinations that often conflicted with one another.

Accomplishments that we're proud of

We're proud that we were able to develop an interactive platform for users to explore our program, while being able to successfully generate the expected output. We see the impact Vibe can have in our own lives and see ourselves using our tool often.

What we learned

Front-end development is just as important as back-end development, as in the way information is presented is crucial. More importantly, we learned to persevere and that it is okay to still be learning things throughout the hackathon.

What's next for Vibe - Music to the Eyes

Providing a feature to enable taking photos using a camera and analyzing (and predicting) trends in the users' preferences in regards to song/genre choice and recurring "vibes".

Share this project:

Updates