Inspiration
We wanted to understand ourselves better through the music we love. Spotify shows us songs, but not why we love them—or how our tastes, moods, and identities shift over time. FeelTrack was born from that curiosity: to turn playlists into personal growth timelines.
What it does
FeelTrack analyzes your Spotify Liked Songs and visualizes how your music taste, emotional tone, and genre preferences evolve over time. It creates a mood + genre timeline showing personal “eras,” genre shifts, and even sentiment trends in lyrics.
How we built it
We used the Spotify Web API with PKCE auth to securely access user data. On the backend, a Netlify Function proxies requests to Spotify to avoid CORS issues. The frontend is a React + Vite app that parses audio features, genres, and lyrics to display timelines and insights. We use Chart.js and dynamic tagging to highlight phases of change.
Challenges we ran into
PKCE Spotify auth was tricky to implement cleanly in a Vite + React app. Spotify limits the number of tracks and metadata per request, so batching and rate-limiting were necessary. Parsing sentiment from lyrics with minimal latency required creative compromises. Proxying Spotify API securely via Netlify Functions took trial and error to handle tokens right.
Accomplishments that we're proud of
The timeline of musical “mood phases” really works—users immediately recognize personal patterns. We created a Spotify auth flow that works securely and smoothly without exposing tokens. Built a real tool for introspection and identity through something people already love: their music.
What we learned
Spotify gives more emotional and genre metadata than we thought—when combined, it paints a deep picture. Netlify Functions can be a powerful workaround for frontend CORS limits. Auth, even when hard, is worth doing right. Data is only meaningful when made personal.
What's next for FeelTrack
Let users annotate their eras with life events and journal entries. Add friend comparison: how do your vibes compare with someone else’s? Export your “life soundtrack” as a playlist for each era. Explore integrations with other music services. Possibly package it into a Chrome extension or mobile app!
Built With
- axios
- chart.js
- github.
- lyrics.ovh-api-(for-lyrics)
- netlify-functions-(serverless-backend)
- node.js
- pkce-oauth
- react
- spotify
- tailwind-css
- typescript
- vite
Log in or sign up for Devpost to join the conversation.