Inspiration
"Students who used active recall were able to remember about 80% of the new terms compared to 34% for the control group who passively went back through a series of cards until they learned everything again." Clearly, active recalling is high-yield learning technique that accentuates academic success. Although learners are able to speak out loud about what they learned, it lacks the key component of knowing whether or not what they said was right. No one is there to give feedback. This is where Ducky was born.
We were inspired by the rubber ducky technique, a debugging method where programmers walk a rubber duck through their code. Oftentimes, through the explanation, the user reveals the bug themselves. We began thinking about how we could apply this technique to improve education and learning retention, and wanted to apply this rubber ducky concept to active recall. Thus Ducky was born - an AI chatbot that listens to the user walk through material they’re studying, correcting flaws in understanding and asking insightful questions to drive learning - an interactive rubber ducky for learning.
What it does
Ducky is a study tool that allows the user to practice active recall. It aims to simulate a real conversation between two people where further discussion can be made. The user can input a body of text (class notes, documents, textbooks, newspapers) and use Ducky to recall the information. Ducky will determine if the information recalled by the user is correct and provide feedback. Through guiding questions and authentic feedback and conversation, Ducky can determine if the user forgot any key concepts from the given text and relay this information back to the reader, thus improving retention rates and better priority management.
How we built it
Ducky was built upon a React and MUI frontend and a Node.js and Express backend. We utilized OpenAI’s natural language processing API to parse and develop an automated system where users are able to upload a piece study document. The front end consisted of modular components that all came together to build an easy-to-navigate UI interface. By utilizing HTTP requests with Axios, we were able to query our endpoints and pass data between the frontend and backend. On our backend, we utilized several different endpoints to access our MongoDB database and make API calls that drive the functions of our application. We extracted topics and main points that user should focus on and kept track of whether or not the user touches on them by updating a database that held user information such as input document text and their progress.
Challenges we ran into
With a variety of inputs and parameters, communicating between services was difficult at times. For example, while connecting the frontend and backend services, retrieving information from the database with a GET request and packing it into the correct format to POST to the frontend took a good amount of fiddling with.
We also ran into lots of bugs as some of our team members were more familiar with Python - but we decided to take on the challenge and build a Node.js backend. It was difficult to understand how to debug and understand logs that were being printed out, but as a team and with the help of some mentors, we were able to get it done!
Accomplishments that we're proud of
As a team of 3 with TreeHacks being 2 people’s first hackathons, we were proud to have put together a project with a fully developed frontend, backend, database, and complete features like PDF parsing, live audio input, and routing.
What we learned
We all learned a great deal over the course of just 36 hours! Here’s each of our favorite ways in which we grew this weekend: Allan: In my previous hackathons, I have always taken a back-end role, but this time, I took on the front-end role. I enjoyed learning more about building front-end components using MUI.
Aksara: Being a first-time hacker, I learned how to use a lot of popular platforms such as Node.js and MongoDB.
Lily: I loved learning how to connect services together with APIs! They were always daunting to me, so seeing how simple they can be at their core was very inspiring.
Future Implementations
Analysis and statistical data of voice data, stronger parsing of pdf, quiz building, leveraging Notion or other educational platforms and integrating our service
Built With
- express.js
- javascript
- mongodb
- node.js
- openai
- pdf-parser
- react

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