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

Share this project: