It's 9:00 PM, and you've just gotten back from swim practice. Your weary arms protest as you zip open your backpack and take out your planner, but you dutifully open it anyways. Within it, a nightmare awaits.
DUE TOMORROW: Precalculus exam, Biology exam, History exam.
Your head begins to scramble. Am I close to failing any of these classes? Frantically, you check your grades, and find that you are, in fact, one bad test away from dropping a letter grade in each of these classes - you're screwed. In your panic, 10 minutes have passed. It is now 9:10, and you know that if you go to bed past 1:00 AM you're going to be a walking zombie the next day - that's no way to be taking such important tests.
How are you going to study? Where are you going to start? And how about your time - how will you divide that?
We wanted to make an app to address this scenario.
What it does
Our app begins with a camera with a built-in OCR reader to scan a page of notes that the student took in order for the app to understand what is the exact information that needs to be reviewed by the student. After scanning the notes, it uses Words Api to generate a topic based on keywords and concepts discussed in the notes. After getting this topic, the user can choose a different topic if they wish to be more accurate or more broad. Once the topic is finalized, the user inputs the amount of time they have left to prepare and allows the app to autogenerate a study guide on the given topic using the Khan Academy Api and how deep into the topic the user wishes to dive into.
In summary, the app will scan the user's notes to determine which subjects to include in the Study Guide. Then, it will create one within the time constraints of the user.
Imagine the poor schmuck mentioned in the introduction. Using this app, he could create three separate study guides that would each take an hour to complete - ensuring that he would have the base knowledge in place to at least not fail all of his tests tomorrow. Disaster averted.
How we built it
The input of the app starts with a camera, which utilized an OCR API using artificial intelligence for handwriting recognition. The text from that was then passed onto an algorithm utilizing Words API, which allowed us to have several categories to search on, maximizing potential content to give to the user. These categories were then passed onto an algorithm which found the videos, exercises, and articles underneath that category from the Khan Academy API. These pieces of data helped us form a comprehensive study guide for the user. We analyzed each of these videos/exercises/articles time to complete to adjust the study guide based on time.
Challenges we ran into
The biggest challenge we faced was implementing the APIs. Most of us had no experience with APIs, so a lot of the time was just learning the basics. Even after we figured out the APIs, we struggled to deal with the vast amount of data that we received from them. Another challenge was trying to merge our several components. We had different people working on different things, and putting it together was a task that we weren’t able to fully achieve. Despite these challenges, we definitely are proud of the work we got done.
Accomplishments that we're proud of
We are most proud of how much of our original goal we were able to achieve in the strict time period. As many projects go, it is easy to overshoot the time and effort you will need to complete certain tasks. We set out to make an app that helps students handle the stress of school by generating study guides that they can use at any point of time. Our most memorable moment was when we debugged for four hours straight and after a short dinner, we came back with a fresh mind and were able to generate the api calls in the way we hoped.
What we learned
This was our first time working as a team. We had not met each other before the hackathon and we had a lot of conflicts on first on what app to make and how to approach it. Our ideas were very different: one that strictly generated study materials and another that used machine learning to enhance user experience. When we came to common ground and produced the app we have now, we finally realized that compromise and using enhanced features on simple apps will be the best for a team. We are now more open to working with people we don’t know and competing at even more hackathons!
What's next for SmartStudy
Our team hopes to bring the app to those who need it most: students. Over the 24 hour period, we ran into multiple challenges and we used multiple resources and debugging techniques to perfect the app. We hope to bring this app to peak performance and make sure that it is more user-friendly to allow students to prepare tests. We don’t know what the future entails, but don’t be surprised if Smart Study shows up on the Play Store in the near future!