Inspiration
We were inspired by being avid music listeners who are always on the lookout for new music to listen to.
What it does
In the mood generates a list of songs based on the mood of a text entered by the user.
How we built it
This application was created with Express and written entirely in TypeScript with a vanilla JavaScript and HTML/CSS frontend. It utilizes the powerful Spotify Recommendation API to retrieve tracks that the user may be interested in listening to based on their mood. On any request to the server, Express middleware checks if the client has a valid Spotify authorization token stored as a cookie. Once the user has been validated and Express has confirmed that, users can input their mood and the server makes a call to the Spotify API. Spotify sends back a LOT of data from a request like that, but we don’t need it all. The data is boiled down to the main things we need and sent back to the client as an array of JSON objects.
Challenges we ran into
The weakest link in this project is the “seed” data that gets sent to the Spotify API in order to get recommendations. If we added more artists, tracks, and genres, we would get a much broader range of recommended tracks.
Accomplishments that we're proud of
We're proud to have created a functional back-end and front-end within 24 hours, something most of us had never done before.
What we learned
Some members learned how to work on a back-end for the first time, some members HTML, and we all learned how to effectively collaborate on a project.
What's next for In the mood
Another potential feature would be to implement persistent recommendations where user could create an account and log in with their Spotify accounts with OAuth2 and actually create playlists automatically like this.
Built With
- css
- express.js
- figma
- html
- javascript
- spotify
- typescript
- vanilla
Log in or sign up for Devpost to join the conversation.