Inspiration
For many, music is a cherished friend, an unpaid therapist, and a faithful constant. It incredibly expresses one's thoughts and feelings into a beautiful, comforting work of art. What if you could harness the power of AI to create a music playlist based on your innermost thoughts and emotions?
What it does
Introducing DJ Diary, which automatically curates the perfect playlist tailored to your mood based on your written journal entry thanks to the help of AI/ML. After writing your journal entry, DJ Diary searches through your liked songs and Spotify recommendations for the perfect matches to add to your playlist. After, it returns to you that playlist based on the mood exuded in the entry. Currently, the options for emotions include: sad, chill, hyped, angry, and happy. The playlist is then saved into your Spotify library for ease of listening, and you can also access the playlist and its associated journal entry in the dashboard. This enables you to reflect on your journal entries and compare them to the AI-curated playlists.
How we built it
DJ Diary is an AI/ML-integrated web app. It was designed in Figma, and the front-end was built in React and Tailwind CSS. The back-end was programmed in Python and JavaScript. We utilized the Cohere API for sentiment analysis of the journal entry (AI/ML) and Node.js.
Challenges we ran into
A challenge we ran into on the front-end was in the handoff from Figma to the implementation. When trying to use Figma dev mode, we ran into some issues getting the designs to translate properly. We then switched to inspecting and using Tailwind CSS, which had a learning curve but ended up working better.
Another challenge we ran into was calls to the Spotify API on the back-end getting blocked. We were able to work around it by calling it from the front-end and pushing it to the back-end. We also initially wanted to use MongoDB / databases in our project but were unable to execute it successfully.
We also ran into some challenges that we had to troubleshoot at the end of the project - like bugs regarding login issues to Spotify and runtime errors.
Accomplishments that we're proud of
We're proud of executing a functioning product that has all the key features that we wanted to deliver. We faced some time pressure at the end to implement the front-end for DJ Diary but managed to pull through in time. Using the Cohere API to conduct sentiment analysis and being able to integrate artificial intelligence and machine learning into our web application were also major wins.
What we learned
We learned a lot about integrating different APIs and frameworks, as well as AI/ML to deliver a functional application. We also learned that not everything goes to plan or works out the way we wanted it to- especially in such a time-crunch situation. One of our planned features - the ability to rate and review the playlist - did not make it to development.
We also learned future areas that we could probably explore - such as what if a user listens to only instrumental music or a certain genre that doesn't fit the current emotions.
What's next for DJ Diary
- Adding more specificity to the moods that the playlists are themed after (e.g. sad - heartbroken edition).
- Adding the feature to rate and review the generated playlist - input from that would go towards streamlining the playlists to match the users' tastes better!
Built With
- cohere
- css
- express.js
- figma
- git
- github
- html
- javascript
- material-ui
- node.js
- python
- react
- spotify
- tailwind




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