Inspiration
As fans of both chess and computer science, our group was particularly inspired to develop an innovative project uniting the two. However, plenty have seen or perhaps even built a basic chess app before, and we wanted to do something with a greater impact. It was then that we realized that we could merge our passions by rooting them in cybersecurity, taking advantage of the inumerable possible chess games to create a simple yet power password creation algorithm. Thus, CastleKey was born.
What it does
CastleKey is a cybersecurity application that creates user passwords by using chess moves. The user can simply select a chess move and the application will generate a unique and complex password based on that move. The passwords generated using this system are highly secure and difficult to guess or crack from brute force alone. Additionally, the website also provides other features such as password management and recovery, resources to evaluate the security of their existing accounts, and easily accessible advice on how to further improve the safety of their credentials. In general, the website is user-friendly and easy to navigate, making it accessible to people of all ages and technical skill levels and empowering anyone looking to improve their online security.
How we built it
The website was was built using a combination of HTML, CSS, and JavaScript. HTML (Hypertext Markup Language) is the standard language used to create web pages, and it was used to create the structure and layout of the website. CSS (Cascading Style Sheets) was used to add styling and visual elements to the website, such as colors, fonts, and spacing. JavaScript was used to create interactive elements on the website, such as buttons and forms, and also was used to handle the logic of the application, such as generating passwords based on chess moves.
Firebase is a platform provided by Google which provides a variety of tools and services to help developers build web and mobile applications. In this case, Firebase was also used to host the website, providing the necessary infrastructure to store and serve the website's files and data. Firebase also provides features such as authentication, real-time databases, and hosting, which can be integrated into the website to provide additional functionality.
By using these technologies together along with a Domain.com domain name, we were able to create a website that is visually appealing, interactive, and easy to use, while also providing powerful security features to protect users' online accounts.
Challenges we ran into
Our team was not particularly experienced in databases, and so we struggled significantly with components of the project associated with data persistence. One of the main challenges when working with databases is understanding how to structure and organize the data. This includes decisions such as what data to store, how to organize it, and how to ensure the integrity and consistency of the data. Another challenge when working with databases is ensuring that the data is secure and protected from unauthorized access. This includes implementing proper authentication and authorization mechanisms, as well as implementing encryption and other security measures to protect sensitive data. Additionally, implementing data persistence also involves creating the necessary code to interact with the database, such as inserting, updating, and retrieving data. All of the above were challenging tasks as newcomers who had relatively little experience working on databases before.
Accomplishments that we're proud of
User Experience: The application was designed to be very easy for anyone to use, and integrating the chessboard directly into our website helped significantly with this.
Security features: The password generation system based on chess moves is a creative approach to password security, helping make unique and complex passwords that are difficult to guess or crack. The application also provides other features such as password management that we also made progress on.
Technical Skills: The application was built using a combination of HTML, CSS, JavaScript and Firebase, which required a good understanding of web development and the Firebase platform. This was our first time working with Firebase and sets the stage for us to expand our technical skillsets from front-end development to back-end, full-stack, and beyond.
What we learned
Most importantly we learned how to use Firebase. Features like github integration to automatically rebuild and redeploy sites after every commit accelerating our debugging and programming processes significantly.
What's next for CastleKey
We have a number of other ideas for the future of CastleKey, from developing a fully functional and reliable data persistence mechanism to incorporating multi-move passwords. Stay tuned!
Built With
- css
- domain.com
- firebase
- html
- javascript

Log in or sign up for Devpost to join the conversation.