Inspiration
Before every exam, we try to study using BoilerExams, but there usually isn't sufficient material to prepare well. We culminated questions from our notes, homework, PSOs, etc. We had the idea to create a hub for CS students where they can learn efficiently and contribute and discuss with the community.
What it does
Squirrel Review contains numerous practice questions for different Purdue CS classes. The questions can be filtered by topic and difficulty and can be searched using a semantic search engine. It also contains a built-in terminal where users can code answers to the questions directly on the website.
How we built it
We used React for the front end and Flask for the back end. We used SQL for the database to store question information so that it can be dynamically accessed. We also used an open-source pre-trained model to classify questions into different CS topics to make adding and classifying questions easier.
Challenges we ran into
Sending data between React and Flask was difficult because we were new to using React and had to learn and implement it simultaneously. Incorporating the AI model was also challenging because we didn't have labels for the questions, and therefore, we couldn't train our own model. We tried to find unsupervised classification models, but we eventually found the best results while using an open-source LLM to classify our data.
Accomplishments that we're proud of
We are proud of the dynamic user interface and the terminal integration. The semantic search engine was also difficult to incorporate, and we are proud of the results we were able to achieve with it. We are proud of ourselves for becoming comfortable with React within such a short period of time.
What we learned
We learned more about the communication between the front and back end, especially with post and get requests. We also learned a lot about teamwork, problem-solving, and organization with all the different packages and dependencies we needed to keep in mind.
What's next for Squirrel Review
We hope to continue to improve our website by adding a user feature so that users can upload their own questions to the website. We want these questions to then be approved and added to the website to create more of a community. We also want to add more features such as keeping track of time during problems and accuracy when solving the problems.
Log in or sign up for Devpost to join the conversation.