Website home - index of festivals and stages
Detail view - concrete view over the songs played in a concrete stage by a determined artist
Desktop Java client - recognizes song and location, adding it to the related stage and artist
Node.js server - feedback when new songs are added by users
We had a talk with Shazam staff, and we had thought that using their API would be really interesting. So we started thinking what project we could do with their API, and it took us here! BloomBox was born mixing this idea and our experience in previous festivals!
What it does
It stores and classifies the tracks played by an artists in a determined festival, 'shazamed' by users at the venue. This way, all these tracklist can be checked in the main website to know which tracks are/were being played or check a determined festival, stage or artist.
How we built it
We've built a Java client and a website, where users can interact with the different festivals/stages/DJs, uploading their Shazams/tracks (via app) or checking the artists and tracks played in a concrete venue (via website). We also have an REST API working in a Node.js server, that communicates with the database, the Shazam API, and the website as well, receiving the requests from the client/s.
Challenges we ran into
Recording a song in .wav format was quite difficult, specially in iOS/Android, so we looked for alternatives to get the product on time. We had to use strictly the wav format because the Shazam API only worked with this single format. It was quite difficult as well to receive a valid reply and process it, where after some hours of hard work we got it working great in all clients!
Accomplishments that we're proud of
The quality of the final project. How it finally looked. What started as an idea ended up here, which is a quite professional and clean result!
What we learned
Working with audio files (A LOT), communicate with public APIs, communication between servers using a real remote server, and create and use a custom database from scratch, customized for our needs.
What's next for BloomBox
Charts! Stadistics with the data generated by the users.
Our card for the judges is: 5 of hearts