Inspiration

As students, we work every day with different study tools: prominently note-taking apps. While apps like apple notes, goodnotes and notability exist, we were frustrated with the lack of AI driven tools. We wanted to create something that seamlessly integrates the tools we already use, and tools not already available, all into one app.

What it does

Our note-taking & study app has three notable features:

  • AI Assistant: The integrated AI assistant can correct your mistakes. Using the Lasso tool, you can select the scope of your query and open a chatbox with a Gemini AI assistant. It will directly answer any questions you have related (or unrelated) to the highlighted section.
  • Supplemental Video-Lesson Generator Having trouble understanding the curriculum? The video-lesson generator takes your prompt and generates a video equipped with custom animations and a narrator to help you understand concepts and build foundational knowledge.
  • Homework Parser & Assembler The homework assembler can transfer your homework problems for you. Instead of having to screenshot or manually write down your homework problems, you can simply upload a PDF of your textbook, provide details about the homework section and problems, and it will write each problem separately on individual pages. An example of a request could be: Section 5-1, Problems 1 through 31 odd only.

How we built it

We built many of our AI tools using Google's Gemini API; the homework assembler, AI assistant and video-lesson generator all use it.

  • The chat box is a simple Gemini-wrapper triggered by the lasso tool.
  • The homework assembler utilizes Gemini's OCR to read text, locate the section and homework problems, and feed that to our frontend to display it. It also generates the problem text as scalable vector graphics, allowing them to be act as stroke elements.
  • For the video-lesson generator, we first used Gemini to create a video script, and then choreograph an animation using the popular open-source Manim animation library. Manim specializes in math and physics animations, so it has tools to generate graphs, use custom symbols, and other functionalities perfect for this use case. We also used Fish Audio's TTS to narrate the video script.

Challenges we ran into

We had some issues designing the core functionality of the note app. Creating custom-defined stroke elements that act like writing was difficult: we had to manually create a function that converts text to HTML, and with that as an intermediary, outline those HTML elements with points that could be used to draw vector graphics. The canvas was also slightly troublesome, as the stroke elements would misalign frequently.

We encountered many issues with the video-lesson generator. We had trouble syncing the generated animation with the audio script. We also had trouble making sure the animations stayed in the viewable rendering zone. Lastly, we had issue with overlapping video elements.

And overall, we had a lot of issues with merge conflicts! Github branching is hard!

Conclusion

We gained valuable skills in project management, organization, and collaboration. We created an amazing project that satisfied the initial frustration we had with existing applications and created something genuinely unique that addresses real-world problems. Society is (slowly) starting to adopt AI to optimize...everything! We thought learning should be a part of that process, and are glad to have been involved.

What's next for NotifAI

We have a lot of cool features we would love to implement!

  • Individual subject sections
    • Chemistry molecule generator / analyzer
  • More robust autocorrection (inserts elements and highlights errors)
  • Flashcard tools
  • Graph generation tools
  • Data analysis tools
  • Voice recordings

Built With

Share this project:

Updates