Inspiration
The project was born out of a passion for both music and technology. I wanted to create an app that would allow users to explore their musical preferences in a fun and interactive way. After being so excited to see my Spotify wrapped at the end of the year and being a bit disappointed that a lot of the data insights I wanted to see just weren't included, I wanted to make my own version. While it takes inspiration from "Spotify Wrapped," this project has many of its own twists and turns :) which I hope you enjoy. I wanted to use Cohere's LLM in this hackathon as it's an incredibly exciting technology, and its applications are endless; getting more experience with Cohere was my favourite part of the experience.
What it does
With Statify, you can discover new trends, relive memories, and even brag about your top artists on social media. You can even generate user personas for yourself (this is the most awesome part)! One feature that I really love is the ability to view your listening history, as I'm always forgetting to write down the name of some amazing songs I'm jamming out or studying, and this addresses that!
How I built it
I built the web app using JS and React; I used a W3 CSS styles template to import the styles designs for this app. The best parts of this app come from its API integrations; all data and authorizations are retrieved using Spotify's Developer API. The Statify AI user personas are powered by prompt engineering through Cohere's Command-Light large language model. I absolutely LOVED using Cohere. Cohere makes it incredibly easy to learn and use their models. From their various tutorials, articles, and their sandbox, it was a blast working with Cohere's tech, and I'm excited about their future.
Challenges I ran into
A challenge I ran into was ensuring the prompt used for generating user personas was outputted in a reliable and consistent format but also gave creative and fun results. This took some playing around in Cohere's sandbox and fine-tuning the prompt as well as the temperature of the prompts. To ensure these prompts could be returned efficiently, the light-command model was picked.
I also wanted to integrate Dream Studio to create avatars and artwork throughout the web app to represent each user individually. My goal was to use Cohere to create personalized prompts which could be fed into the Dream Studio API, which would create a custom avatar. I ran into some issues fine-tuning this feature and couldn't ship it yet, but I look forward to completing it soon!
Accomplishments that I'm proud of
I'm proud I could finish almost every feature in the app I set out to! It was such a fun experience and really pushed me to the limit, but as a result, I grew immensely. I'm proud of making something that I personally love to use and believe that other people would be too!
What I learned
I learned a lot about making web pages reactive, the importance of architecture and planning during the design phase, and the fact that I can do almost anything if I set my mind to it.
What's next for Statify
In the short term, I'd like to finish the genres page as I believe it brings lots of value to the product. In the long term, I plan on using Dream Studio to create a beautiful personalized backdrop for the Statify AI feature. The goal is to use prompt engineering with Cohere to create a prompt from the user's Spotify stats that will be passed into an AI art generator. The art generated from this tool would be used throughout the app in places like the Statify AI personas, genres, and top artists.
Built With
- cohere
- javascript
- next.js
- react
- spotify
- vercel
Log in or sign up for Devpost to join the conversation.