Inspiration
Have you ever really liked a song from an artist, but wouldn't have found it under normal circumstances because the artist doesn't normally make music in your genre taste? Have you ever wondered what amazing songs you have skipped over and missed due to not having the time to wade through albums of an artist you feel you wouldn't vibe with?
Qwertunes was inspired by the lack of exposure and representation LGBTQ+ content creators get in the media, and also the lack of a Spotify recommendation system based on a song from the artist, not based the artist's "genre" themselves. We decided to combine these two issues into a nifty tool that would allow even the most hidden LGBTQ+ artists gain the spotlight. Many artists love to make music in different genres, but meet the unfortunate fate of being labeled a set genre, likely based on their single most popular song. This will obviously turn away potential listeners from their different music and "experiments," leaving artists stuck in a rut.
While Lil Nas X is already big, just as an example he is normally labeled as "country" or "rap" or maybe even "hip hop," but Lil Nas X has songs that fall under "Rock" and "Alternative/Indie" that people would miss out on (that is, until Qwertunes).
We decided to call our domain http://www.musicfromthedisco.tech/ as in "music from the discotheque". The disco scene back in the day was largely a POC and LGBTQ+ environment and it skyrocketed the genre to fame. We hoped to provide a fun visual vibe and pay homage to the LGBTQ+ influence on music.
What it does
Qwertunes uses the Spotify API to find the main musical genre's that a user is interested in. This is compiled through playlists, artists, and even songs that the user commonly listens to or favorites. A Firebase Realtime Database is installed as well, scraping the web and using the Spotify API to store LGBTQ+ artists, their songs, and even their songs genres (compared from multiple sources). From here, the user's top music genre's is then compared to all artist's songs (artists are chosen at random for the fairness and exposure) and Qwertunes will return the song that has the most genre's that match the user's interest.
How we built it
Qwertunes is built with Node.js, Javascript, HTML/CSS, Spotify API, Firebase Realtime Database (Google Cloud), and Ajax.
Challenges we ran into
Our biggest challenge was not really knowing how to properly pass data from the backend to the frontend. We struggled immensely with this and had to sleep on it, but we successfully figured it all out just in time for everything to work. And we learned a lot about API calls and ajax! Getting comfortable with handlebars.js to render data in the html was also somewhat confusing since neither of us had used it before. Another challenge we faced was creating an interactive and animated background. It took a very long time, many stack overflow links, but in the end we managed to get the effect we were looking for.
Accomplishments that we're proud of
Normally in hackathons we tend to go in with a large scope, ending in failure, but Qwertunes was just right and manageable, and we're so proud to have a complete project. Qwertunes is also cool as well, and an easy/unique way to find new artists to listen to.
What we learned
We learned how to use Firebase and also AJAX during this journey. The Spotify API was also new to us as we don't normally use API's, so that was a fun experience to work with. We also learned how to manage our time properly.
What's next for QwerTunes
We have a feature in Qwertunes to contact us about adding artists like you in our database! Obviously we did not grab artists that weren't explicitly LGBTQ+ (and said so themselves), so we're happy to add you or others if its ok. Also in the future we would like to recommend an artist's songs based on a users playlists as we know users can have a wide range of music taste and would want a more specific recommendation.
Built With
- ajax
- express.js
- firebase-realtime-database
- handlebars.js
- heroku
- html/css
- javascript
- node.js
- particle
- spotify
Log in or sign up for Devpost to join the conversation.