DEMO IS FOR FIREFOX ONLY, CURRENT AUDIO PASSWORD IS ABBA'S "DANCING QUEEN".

Inspiration

The one-directionality of the mapping from music to music metadata loosely reminded us of hash functions, leading us to think about login systems. Our team also has an interest in music, making us interested in doing something using the Shazam API.

What it does

It consists of a server which receives audio files recorded by the user on their browser as they try to log in. These files are forwarded to Shazam by the server, and the returned identification information is compared to stored passwords. Matching information allows a successful login.

How we built it

The server is written in JavaScript, running on Node.js. It delivers HTML, CSS and JS files to clients; the clients record audio files which are delivered as binary streams to the client. Software we used to build it include git (with GitHub as our repository host), Jetbrains PhpStorm and the npm module manager.

Challenges we ran into

Asynchronous programming with JavaScript was a challenge for us, as we were all unfamiliar with it. We also initially struggled with the client-server communication data formats, as well as with implementing audio recording in browsers.

Accomplishments that we're proud of

While there are clear barriers to real-world use, we think the idea is very creative, and is a fun use of the API. We're also very proud of managing to build a system that can work reliably, despite our relative unfamiliarity with the tech stack.

What we learned

We acquired a lot of skills related to the technical challenges mentioned above.

What's next for Shazam Password

Song sequences as opposed to single songs acting as passwords, actual session and login management, etc.

Built With

Share this project:

Updates