With more and more people getting interested in astrology as well as different popular Spotify-related projects being released, we knew that we wanted to use the Spotify API to create a fun and personalized experience based on music. We were inspired by other projects that employ the API such as Receiptify, Music Iceberg, and the bullying music A.I. We also drew inspiration from the app CoStar, the popular astrology and horoscope app.
What we learned
The first major skill we learned during this Hackathon was how to use GitHub. Only one of our team members had experience with this application and he was able to teach all of us the basics like how to push, pull, and create repositories, We then all used Youtube to learn basic Flask from tutorials from Codeacademy. With this information, we were able to create the user interface and webpage for SpotiSky. Finally, we worked with the Spotify API in order to authorize and access the user’s Spotify data, such as top songs, artist names, and album cover art. Only one of our members had previous experience using the Spotify API, and we learned how to be adaptable and solve problems in real-time as we learned and employed this new technology. Finally, we used both Flask and the Spotify API in order to create a cohesive and personalized experience for the user.
How we built it
Using the Python version of the Spotify API, Spotipy, we were able to first authorize that we can get access to the user’s Spotify data and after successfully authorizing, we were able to access the user’s top ten songs. Each song on Spotify has given variables such as tempo, loudness, danceability, and energy. Using these variables we called on different things to set our values for the user’s sun, moon, rising, venus, and mars signs. Then we sent this data to our website made with Flask, featuring a hand-drawn user interface as well as several pages that the user would be directed to depending on whether they needed to login or see the data.
Challenges we ran into
Some of the challenges that we faced were Spotify authorization tokens. The tokens had the problem of not expiring, although Spotify has a set token expiration time of one hour. Our tokens would expire but would retain data from the previous user’s login. This caused new users to receive the song data of old users.
Accomplishments that we're proud of
We're really proud of our user interface, as well as how much we were able to accomplish in the state of 24 hours, especially working with such new and unfamiliar technologies.
What's next for SpotiSky
Our next goals for SpotiSky are to make it available for more than one user, as well as to have a full horoscope available to our users.