Inspiration
Our inspiration for this project was to help the elderly with password management and make an easy-to-use website to generate strong passwords and help the elderly remember them. We all noticed that the elderly were the main targets of cyber security attacks and often struggled with remembering passwords, so we dedicated this project to helping them as much as possible with password security.
What it does
RememberGranny is a website with multiple features aimed at assisting people to make their passwords more secure and help them remember their forgotten passwords. On the website, we have 3 tabs, a home page, a password detection page and a password generation page. The password detection page contains a password strength assessor where the website will let the user know if their password is weak, moderate or strong after they input it. The password generator page contains a password generator where after asking the user a series of questions, we generate a strong password for them that they can easily remember well. If the user ever forgets, we also generate a story for the user to help them remember their password using keywords scattered throughout the story to jog their memory.
How we built it
UI We used HTML/CSS to create a simple user-friendly website for people to use. On the website, we have 3 tabs: a home page, a password detection page and a password generator page. The password detection page contains an input line which is linked with the model we created and described in Section 2. The password generator page is linked with the Groq API code and contains 3 user inputs and an output for a suggested password, as well as an output if you forget your password.
Password Strength Detector For the password strength detector, we made a machine-learning LSTM (long-short-term memory) model and trained it using a dataset in Kaggle to be able to detect weak, moderate and strong passwords. We first found a dataset in Kaggle that contained about 760,000 passwords all categorized into 3 classes: weak, moderate and strong. We exported the CSV to our drive and then cleaned the data in the dataset as some categories had much more data than others. After reducing the skew, we developed an LSTM model to analyze the data and trained it using the training data in the cleaned dataset. After training, we validated the model and achieved a 98% accuracy rate. We then used Flask to output the results we got onto the website.
Password Generator The password generated was made using the Groq API. We used the Groq API and created an API key so that we could access the API. After learning some of the syntax of Groq, we were successfully able to code a program which asks the user to enter keywords and then suggest a strong password to them. We also used the Groq API to generate the story to help the user remember their password if they forgot and incorporated keywords and numbers into the story.
Challenges we ran into
One of our biggest challenges was with enabling communication between our Python code and our website. We had lots of issues, having to revamp lots of our code to make it work. Additionally, we struggled with our usage of APIs. It was our first time using APIs, so getting it to not only work but getting it to work with our website was a difficulty we faced. Alongside these, we also faced challenges with coding the LSTM model and cleaning the data as there were many intricacies in that and the syntax was new to all of us. The biggest challenge by far was linking the API and the machine learning model to the UI as none of us had experience in that and we had to learn a lot of new syntax and utilize some external tools to make sure everything was working in unison.
Accomplishments that we're proud of
Our skill level in making websites, using AI, and various other technologies was low, yet we still learned so much and managed to create an awesome project that we're proud of. We were blind and only had some experience, yet we made something that we are proud of and that's what's special. We were most proud of managing to get everything that we built onto the website and making everything function properly all at once. Aside from that, we are really happy that we got the LSTM model to work with such great accuracy to check if passwords are weak, moderate and strong and that we got the Groq API to work well with the website.
What we learned
We learned a lot during the last 24 hours. From AI, RNN and LSTM models, to the usage of chat APIs to basic UI design, we gained experience on a lot of front and back-end processes. More specifically, after some research, we learned how RNN models work for text detection and got caught up with the current day usage of LSTM models for text detection. We also made a fully functioning website using HTML and learnt a lot of new skills in terms of front-end programming. Finally, we learned how to utilize chatbot APIs and generate text and phrases with them so that we can utilize them to generate passwords, etc.
What's next for RememberGranny
Looking ahead, we plan to enhance RememberGranny by integrating user feedback to refine our interface and features, ensuring a more tailored experience for elderly users. We aim to improve accessibility with larger text options and voice recognition for password input, and we're considering developing a mobile app for on-the-go password management. Additionally, we will create educational resources on online safety and password security, and explore partnerships with senior organizations to promote our platform. Finally, we'll continuously update our LSTM model with new data to improve password strength detection, reinforcing our commitment to user security.
Log in or sign up for Devpost to join the conversation.