Inspiration
Ever felt stressed with exams and unsure of how to study effectively? We experienced this ourselves and decided to solve the issue by creating a flashcard generator. CrashCards helps students familiarize themselves with course materials by prompting them with potential exam questions. Our goal is to make studying more efficient and less stressful by providing an easy-to-use tool that enhances retention and understanding.
What it does
CrashCards takes inputs in the form of images or text from notes or lecture materials and converts them into a deck containing 10 unique flashcards. Each flashcard includes its own set of questions and answers, designed to help users review and reinforce their knowledge of the material.
How we built it
We used frameworks like ReactJS and Vite to build the user interface (UI), optimizing user experience (UX) with JavaScript, CSS, and HTML. For the backend, we chose Django, which allowed us to utilize SQLite3 for our database needs. We integrated APIs like Microsoft Azure and Gemini to handle text recognition from images and to break down and summarize large amounts of text. Axios facilitated communication between the Django backend and the React frontend, ensuring smooth data flow and a responsive application.
Challenges we ran into
We encountered several challenges during development. Integrating APIs was new to us, and we initially struggled with choosing the right ones. We initially considered using the Wolfram API but realized it wasn't the best fit for our project. Switching to other APIs required us to adapt our approach and learn new integration techniques. Debugging asynchronous data flow and managing state in React also posed difficulties, as did optimizing performance to handle large text volumes efficiently.
Accomplishments that we're proud of
We successfully integrated multiple APIs to create a seamless user experience. Our flashcard generation algorithm is capable of accurately summarizing and formulating questions from the input data. We’re particularly proud of the user-friendly interface that allows for easy navigation and efficient study sessions. Our team also managed to overcome technical challenges, which significantly improved our skills and confidence.
What we learned
Throughout the development process, we learned a great deal about API integration, state management in React, and optimizing backend processes for performance. We gained valuable insights into user needs and how to create intuitive and effective study tools. This project also taught us the importance of flexibility and adaptability in development, as well as the value of collaboration and communication within a team.
What's next for CrashCards
We would like to increase user customization by allowing users to group similar decks, tag certain decks and change their colour theme, and manually edit flashcards. Looking ahead, we also plan to add features like enhanced data analysis for more personalized study recommendations. We aim to continuously improve the user experience and expand our user base by partnering with educational institutions and exploring mobile app development to make CrashCards accessible on more platforms.

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