Inspiration
Sentiment was born from an important duality: a reliance on music to accompany us through the emotions of life; and a desire to journal more, hampered by the inertia of actually doing it. Enter Sentiment, the AI-powered tool that makes journaling fun. Take your current thoughts and moods and turn them into a playlist designed to perfectly resonate with your current mental state. Want to track your mood? "Trends" is a data visualisation hub that allows you to explore how your emotions have changed over time.
Sentiment: Think. Music.
What it does
Throw your thoughts and feelings into Sentiment, and it'll spit out a personalised playlist based on your mood and listening habits. Using the power of GPT4 for sentiment analysis, the Spotify Recommendations API for musical knowledge, and DALL-E 3 for pretty pictures, Sentiment always knows exactly what you need to hear.
Furthermore, Sentiment also keeps track of your journal entries, and leverages the wonderful Taipy framework to provide a fascinating and easy-to-digest statistical insight into how your mood changes over time.
How we built it
By integrating cutting-edge sentiment analysis from OpenAI's GPT API with the personalisation offered by Spotify's API, we build a React application that:
- Takes user inputs and assigns sentiment scores to them.
- Passes these to Taipy and Spotify.
- Returns a personalised playlist (complete with album art and a description).
- Builds out a data dashboard with quantified insights from your natural language input.
Challenges we ran into
- With different team members working on different functionalities (on their own machines), integrating each sub-component into a single, functioning branch was a time-consuming and complex task.
- Many of us had to learn new tech-stacks and technologies to successfully achieve the functionality we desired. These included: Taipy, OpenAI APIs, Spotify APIs, Flask and React.
- We were determined to embark on a project that was novel and exciting, but also something we would want to use in everyday life. This meant that we had to be very structured and coordinated to ensure we undertook effective ideation that led to the concept behind Sentiment. Ways we overcame this included sprint planning and field research before we committed to an idea.
- We also had to successfully engineer an all-purpose prompt to feed into the GPT API, that would handle a range of scenarios and give us a somewhat standard output that could be handled in the back-end.
Accomplishments that we're proud of
We are proud to have used state-of-the-art technology via APIs to create a novel, but practical application. We are particularly pleased to have laid the foundations for the integration of OpenAI's 'Whisper' in future iterations.
What we learned
No one in the team had used Taipy before so this was a valuable learning experience. Two of the four team members have backgrounds in machine learning and data analysis, hence this tool will be of particular use to them moving forward in their career and personal projects.
What's next for Sentiment
Future releases of Sentiment will include:
- Improving the accessibility of the application by configuring the ability to record journal entries by speaking into your device's microphone, leveraging OpenAI's 'Whisper' API.
- A graphical interface for recording journal entries, and viewing historic entries.
- A UI component to allow for selecting how many journal entries to base your playlist on.
- Ability to log into Spotify from the web-application, to mitigate existing oAuth issues.
Log in or sign up for Devpost to join the conversation.