Inspiration
Everyone knows the pain of cumulative tests and quizzes 😫. Even if we mastered the content at some point, it's so easy to forget the specifics of a concept just days after learning it. It can feel impossible to manage studying previous notes consistently and qualitatively. That's why we built Retainify.
What it does
Retainify seamlessly integrates into your student workflow by taking your class notes and generating free-response review questions from them using one of Cohere's Artificial Intelligence Large Language Models 🧠. You even have the option of logging in with Notion and effortlessly accessing your own notes content through Retainify 📓.
On the Retainify dashboard, you can find a collection of your notes topics and see how much time you have until the next review session for each one. Once it's time for a review session, Retainify will send you a push notification reminder, scientifically timed for long-term retention 🕖. In a review session, your content mastery will be put to the test, allowing you to reflect on your weaker areas and reminding you to continue studying your notes. Happy studying! 📚👩🏫
How we built it
Accessibility was a high priority for our team, so we knew we wanted to make a cross-platform mobile application. It became clear that the Flutter framework 🦋 was the best tool for the job. Using standard http requests, we made calls to the Notion and Cohere APIs, combining these two powerful tools to make our application.
Users have the option to paste their notes in manually or use their own personal Notion page because of our use of the Notion API. To generate the review questions, we prompt Cohere’s command-xlarge-nightly LLM using the user’s notes. The generated questions get sent to our Hive database and are stored locally so that the user can review concepts whenever they please. We utilized the flutter_local_notifications package to schedule the specific time intervals in which to send the push notification review reminders 🔔.
Challenges we ran into
Scheduling and sending push notifications was more difficult and complex than we expected, mostly because of the high security of iOS. Additionally, the nature of notifications make them difficult to test, because we had to schedule a few minutes ahead, build the app, and then check to ensure that the correct notification was sent at the exact time. If it didn’t work, we had to debug and start the process all over again. The flutter_local_notifications package requires that notifications are initialized for each operating system separately, which made the process a bit more difficult. We’re happy that we were able to overcome the tedious obstacles and produce an application with an intuitive user interface and practical use 🎉!
Accomplishments that we're proud of
None of us have ever worked with Notion’s or Cohere’s APIs before, so it was exciting that we were able to make successful calls so quickly. Making a student-assistant application like Retainify is particularly special to us because it’s so immediately applicable to our day-to-day lives. Additionally, Flutter, being such a useful framework, was something we all agreed would be incredibly beneficial to learn. We built a satisfyingly useful application using a framework that none of us had experience with prior to the Hackathon, which is always something to be proud of 👩🎓.
What we learned
We learned the value of reading documentation before trying to jump straight in to development. Flutter has some of the best documentation any of us have seen, so it was actually enjoyable learning about Widgets and the different quirks that drive Flutter. With the two APIs we utilized, we were able to start calling them so quickly because we also read the documentation and used playgrounds/Postman to ensure we were getting the correct and necessary information 📖.
What's next for Retainify
There is so much potential for incorporating NLP (Natural Language Processing) into the student experience. We’re dreaming of implementing features like a massive LLM-generated practice test. Imagine putting a whole course’s notes into Retainify and having a cumulative practice final at your fingertips within seconds. No longer would we be tormented by unsupportive professors in difficult classes, where the final is worth 50% of the final grade 🗣️!
Built With
- cohereapi
- dart
- flutter
- hivedb
- notionapi
Log in or sign up for Devpost to join the conversation.