-
Login Screen [Desktop]
-
Dashboard [Desktop]
-
Value to Store Users/Passwords [Desktop]
-
Bank of Stolen Passwords [Desktop]
-
Challenge Arena where you can challenge players for their services [Desktop]
-
Leadboard of Most Passwords Stolen [Desktop]
-
Profile Page [Desktop]
-
Settings Page [Desktop]
-
Victory Challenge Screen [Desktop]
-
Loser Challenge Screen [Desktop]
-
Dashboard [Mobile]
-
Menu Dropdown [Mobile]
-
Value to Store Users/Passwords [Mobile]
-
Challenge Arena where you can challenge players for their services [Mobile]
-
Leadboard of Most Passwords Stolen [Mobile]
Inspiration
People don't hide their personal, sensitive information as much as they should, so we wanted a way to make Password Managers fun and engaging. But, how do you get people to care about their online safety? Gamify it of course!
What it does
At its core, Passwars is a password manager! You can create an account and put your accounts and passwords in, generate passwords, and get them copied straight to your clipboard when you want to use them. However, every user on the website can see which services any other user has stored passwords for. If you see a login you want, challenge another user for their password in a game of chess! If both users accept the duel, both putting an account on the line, our app sets up a Chess 1v1 through Chess.com's API. Win the match, and you get to keep your password and your opponents! Lose, and you may want to be quick to change your password...
How we built it
Our app comes in two forms you can choose from: A website you can conveniently visit at passwars.ethanspickard.com or an executable program you can install on Windows built on Electron. The backend account and challenge systems were built on a combination of Python and Typescript for logic and PostgreSQL for our player/match databases. Our website's frontend was primarily with ReactJS with some Tailwind CSS. The website is being self-hosted in an Nginx Docker container using a Cloudflare tunnel to get around CGNAT restrictions and to handle DNS.
Challenges we ran into
Setting up a complex environment and trying to get so many moving services to talk and work together was probably our biggest time sink, even more than the logic behind challenging others and setting up logins! It took a lot of patience to get our frontend, backend, and self-hosted server to come together, but the payoff is a fairly intricate system that we built ourselves!
Accomplishments that we're proud of
We are very proud that in the short time that we had for the hackathon, we could pull together an entire proprietary account handling system, learn the cryptography and associated algorithms required to safely handle passwords, and create a live system to notify and connect users to play Chess!
What we learned
- Cryptography and information security.
- Web hosting, with Docker, Nginx, and Cloudflare tunneling.
- Websocket integrations.
- It's better to get one or two base processes working perfect together and completed before trying to pull all the other services required to host a website.
What's next for Passwars!
- We want to add more games for users to 1v1 in, so that any user can feel like they have a good shot winning in a game they're comfortable at.
- Reinforce the cryptographic systems we have in place to safely store user passwords and ensure that users feel safe using the website as a password manager.
Log in or sign up for Devpost to join the conversation.