Inspiration
To jam out, concentrate, or just relax, our society is dependent on music to sustain our everyday lives. And for many, their go to choice for this desire's fulfillment is Spotify. Though it may be valued at billions, it is not without its flaws, with riddling ads for those not willing to cough up $60 per year, and its reliance on internet connection, creating bothersome buffering. The latter is perhaps most grueling for us high schoolers, with the weak internet in schools. and the blocking of Spotify's website. For this reason, we strove to put an end to this inconvenience.
What it does
Thus, Strafte was born. Strafe's software enables the user to input any one of their Spotify playlists, after which it's programs find each song on YouTube, and create a downloaded, permanent, and convenient copy of their playlist, available any time.
How we built it
The construction of Strafte was mainly divided into four main roles. 1: The web scrapping of Spotify's interface to obtain its data. 2: The conversion of the playlist to a program readable list of songs. 3: The search and finding of a YouTube video for each song. 4: The conversion from video to mp3 file, created on the user's device. Naturally, each member was assigned one of these roles. The essence of these functions was done using Python. For each, our team had to conduct extensive research into finding relevant libraries, and learn the required syntax. Coupled with vast amounts of debugging, the final version of Strafe was born.
Challenges we ran into
One of the biggest challenges that we were stuck on for a while was the web scrapping from Spotify's interface. It took almost 6 hours to perfect the entire web scrapping process, which took away some time from the other aspects. The HTML file that we got was filled with unneeded information and made it hard to get the actual song titles and artist names from it. So to solve this problem, we created an algorithm that would clean up the HTML file and make it so that only the names that we needed would be stored. Also, since it was the first time for most of our team to use Python, we had trouble learning the syntax and the function calls for the language. However, we were eventually able to get a hang of it and became skilled at getting information from the web.
Accomplishments that we're proud of
Through the many struggles and bugs we've went through the creation of Strafte in itself is our foremost accomplishment. However, our journey extends far beyond the final product. For one, the success in web scraping, a first time skill used by any member on our team, proved to be challenging to learn, but once successfully implemented, instilled a sense of pride in us. Further, our ability to learn and incorporate the new language, skills, and syntax independently helped prove to ourselves how much we've grown as high schoolers. And lastly, our ability to effectively collaborate, and demonstrate effective teamwork, was perhaps our greatest achievement.
What we learned
Strafte was not only a challenge, but a highly beneficial educational experience. Through the 36 hours spent we were able to develop the skills of web scraping, the ins and outs of Python, and many libraries such as Beautiful Soup. Further, we learned the power of hard work and teamwork in achieving one's goals.
What's next for Strafte
Further, we hope to develop a system that searches beyond Youtube, for those songs whose avaliability is more limited, creating a program that allows consumers a more readily accessible playlist of their favorite jingles on Spotify.
Strafte: Streaming Songs Streamlined
Log in or sign up for Devpost to join the conversation.