Inspiration
We love using flashcard apps like Quizlet and Anki (especially Anki). While they have wonderful algorithms to boost content retention, they have one fundamental flaw: the user has to decide their own comprehension level of a flashcard.
What it does
Our solution is to patch the gap in two ways. The first requires the user to type in answers, so they must formulate their thinking properly into a comprehensive answer. The second way is to utilize an NLP model designed to analyze the answer, score it on similarity, and plug it into our custom spaced repetition algorithm (based on Anki) in order to optimize your learning experience.
How we built it
We decided to use typescript in Next.js to facilitate full-stack development and a Python FastAPI server to host the primary algorithm and NLP evaluation logic. We also use the cloud database Supabase to store all user, deck, and card data.
UI Design
We put special care into the design of our UI. Learning is an immensely valuable skill, so it's important to us that your learning tools work for you, not against you, down to the most minute detail. The interface is designed to be simple and intuitive, with all the essential features a good flashcard app should have.
In addition to this, we researched the effects of specific colors on the brain in regard to learning. According to this link, studies show that, for adults, both fewer and cooler colors (blue/green) "tend to boost concentration, lower anxiety/hormones, and promote creativity."
All of these elements combine into a product you can be sure is working to provide the best experience possible.
Challenges we ran into
The biggest challenge was applying our NLP model (from Hugging Face) to this scenario and tuning the responses to get an integer score output.
Accomplishments that we're proud of
We are proud to say our algorithm works! We've extensively tested the grader and are very happy with the results.
What we learned
Our biggest lesson is never to underestimate the size of the project. No matter how much you plan and plan, there will always be new problems to dodge and weave to make it through to a final product.
What's Next for Recall
We have many plans we plan to implement in the future, among which are:
- Utilizing openAI's solutions for extra feedback to the user when they get something wrong
- A comprehensive summary report at the end of a session detailing the areas in which the user struggled
- Setting up public hosting
- Offline support
- User/Login system
- Custom trained NLP
- In-app deck sharing
Built With
- daisyui
- fastapi
- natural-language-processing
- next.js
- python
- sql
- supabase
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.