Check out the demo website here! https://estephenson.github.io/hack-smith-17/
Inspiration
Universal design principles, and elevators. Also inspired by the fact that password security, and remembering passwords, are a huge problem.
What it does
We have created a Google Chrome extension that will allow users to remember more complex passwords without writing them down. To do this, we have mapped every character that can be used in a password to a note on the piano. Every Google Chrome user's mapping is randomly generated but remains consistent across devices as long as the user is logged into Chrome. We have created a demo website that allows the user to play with their mapping. Each key on the keyboard will play its corresponding note when pressed. The user can also press a key on our keyboard graphic to play the corresponding note and display the character that it corresponds to. Then, when the user goes to any of their favorite password protected sites, when they click on the password field and begin typing, their unique character-note mapping will sound. Because each user has their own randomly generated keyboard attached to their chrome account, one user’s password would not make the same sounds if typed into a password field in another user’s chrome session. This extension does not compromise password security because it never handles the user’s password, and because each user has a unique mapping - even if someone overheard your password, they would not be able to replicate it unless they were sitting at your computer. (In which case you probably have bigger security problems to worry about)
How we built it
HTML, CSS, and Javascript.
Challenges we ran into
We didn't know how to create a Chrome Extension, and our Javascript knowledge was rather limited at first.
Accomplishments that we're proud of
The extension works as intended! It chimes on every password field we were able to find online, and the mappings are unique between users.
What we learned
Javascript is the jungle. You do what you can to survive.
What's next for PassSong
Improvements in security - currently, the extension stores the user's random mapping in Chrome's local storage. This isn't particularly secure, so ideally we would be able to have a server store the random mappings (but not the passwords!) Additionally, the demo website currently does not mesh with the extension - it plays the default key mappings, not the user's specific key mappings. Ideally, this demo site would be a page the user could visit to learn their specific mapping. Also, general improvements in code layout - right now it works, but it's pretty ugly to read through. Finally, we would try to expand the mappable keys to the UNICODE system, rather than relying on the basic ASCII characters.
Log in or sign up for Devpost to join the conversation.