Inspiration

Most of us listen to different songs depending on how we feel: happy, stressed, relaxed, or motivated. However, we rarely get to see patterns in how our music taste reflects our mood over time. We wanted to build a tool that helps people understand their listening habits and emotional trends through the music they play every day which 'Insightify' a platform that connects music with mood insights.

What it does

Insightify is a web app that tracks your music listening and analyses the mood behind the songs you play. It visualizes listening patterns and emotional trends so users can better understand their music habits. It can track the songs and then analyses the songs' happiness and energy. From the analyse it then constructs a visual insight using graphs and will also predict the mood for the next day/week.

How we built it

We built Insightify using React and JavaScript for the frontend, creating an interactive and responsive user interface where users can explore their music mood insights using the Spotify API. On the backend, we used Node.js to handle data processing and manage communication between the application and music data sources.

To visualize listening patterns and mood trends, we used Chart.js, which allowed us to create clear and engaging data visualizations such as graphs and charts. These visual elements help users easily understand how their music preferences and moods change over time.

Challenges we ran into

One of the main challenges we faced was that the Spotify API recently deprecated its audio metrics endpoint, which previously provided useful attributes such as energy, valence, and other musical characteristics that could be used to estimate the mood of a track. It would have taken 3 days for Spotify to approve.

To keep development moving, we instead generated test data through an LLM model (AnthropicAI) that simulated music mood metrics. This allowed us to continue building and testing the application’s core features, such as mood analysis and data visualizations, without waiting for API approval.

Accomplishments that we're proud of

PKCE Token Authentication

Interactive charts of mood data

ML Algorithms to predict mood for the next day/week

Web-player integration with Spotify mobile and desktop app

What we learned

We learnt how to create an algorithm that extracts the data based on the tracks from the test data. We are also proud of allowing recently tracks to be able to play the songs.

What's next for Insightify

In the future, we hope to deploy Insightify globally so users can use it anywhere. Our next major goal is to fully integrate with the Spotify API once we gain access to the additional audio metrics it provides. With these metrics, we plan to focus on valence scores, which represent the positivity or emotional tone of a track. By analysing valence values, Insightify will be able to generate mood insights and help users understand how their music choices reflect their emotions over time.

Share this project:

Updates