Overview
Feels App is a mood-based playlist generator I designed and built solo to sharpen my hands-on front-end development skills outside of client and coursework settings. Users describe how they're feeling and the app uses sentiment analysis to translate that mood into a custom Spotify playlist — one they can save directly to their own account.
Where my other portfolio projects showcase research, strategy, and product management, this project was about proving I can also design and build the interface myself — from component architecture to a live third-party API integration.
How It Works
The experience is built around a simple, guided selection flow:
- Mood input — the user selects or describes their current mood as the starting point for the playlist.
- Refinement variables — additional inputs let the user fine-tune the result, including desired energy level and artist preferences.
- Sentiment analysis — the app processes these inputs to interpret the emotional tone being requested and map it to musical characteristics.
- Playlist generation — using the Spotify API, the app compiles a playlist matched to that sentiment and set of preferences.
- Save to Spotify — the user can save the generated playlist directly to their own Spotify account with a single action, so the result isn't just a preview, it's something they leave with.
Design & Development
I built the interface in React.js with Material UI to keep the component system consistent and quick to iterate on, since this was a solo build with no design or engineering handoff. The focus was on making a multi-variable input flow (mood plus several refinement filters) feel lightweight and conversational rather than like a form.
A Note on the Live Demo
Spotify has since deprecated the API endpoints and the Implicit Grant Flow this app relies on, so a live, working demo isn't available right now. This is a platform-side change outside my control rather than a reflection of the app's original functionality — at the time it was built, the full flow (mood input through sentiment analysis to saving a playlist to a user's Spotify account) worked end to end. I'm noting this transparently rather than leaving a broken link or an unexplained gap. A link to the code repository is available in Github