Inspiration

The idea for AskNotes was born out of my own struggles as a student. I often found myself overwhelmed by the sheer volume of notes, textbooks, and lecture materials I had to sift through while studying. The traditional methods of organizing and reviewing notes felt outdated and inefficient. I wanted to create a solution that would make studying smarter, not harder—something that could help students not just store their notes, but actually understand and engage with the content in a meaningful way.

What it does

AskNotes is an AI-powered study companion that transforms your course materials into a powerful learning resource. By integrating seamlessly with your Notion workspace, AskNotes allows you to upload your notes, lecture slides, and other materials, which it then processes into intelligent embeddings. These embeddings make your notes searchable and accessible in a whole new way. With the AskNotes Pal chatbot, you can ask questions directly related to your content and receive quick, accurate responses, turning your study sessions into interactive learning experiences.

How I built it

I built AskNotes using a combination of cutting-edge technologies. The front end is developed with the help of Bulma, providing a fast and user-friendly interface. On the back end, I rely on Flask as the framework, Supabase for authentication, and LlamaIndex to orchestrate the creation of embeddings and querying. To store data, I use TiDB, a distributed SQL database, for its scalability and reliability. TiDB Serverless ensures that the data processing is both rapid and seamless, while TiDB’s Vector Search allows AskNotes to deliver precise answers to complex questions. I integrated Notion for easy content management and used the GPT-4 LLM model to power the AskNotes Pal chatbot.

Challenges I ran into

Throughout the development of AskNotes, I encountered several significant challenges. One of the primary hurdles was dealing with numerous errors that cropped up during the integration of various technologies. I also faced difficulties with unfamiliar libraries, such as LlamaIndex, and integrating the Notion API, which required a steep learning curve and a lot of trial and error.

Moreover, as we progressed, I realized that some crucial libraries we needed for our application weren’t compatible with Next.js. This forced us to make the tough decision to switch frameworks from Next.js to Flask. While this change allowed me to utilize the necessary libraries, it also meant I had to adapt to a new development environment and rewrite significant portions of our codebase, which took additional time and effort.

Accomplishments that we're proud of

I'm particularly proud of how AskNotes transforms the study experience for students. My ability to integrate TiDB with Notion and create a seamless user experience is a significant achievement. I'm also proud of the speed and accuracy of the chatbot, which I believe sets a new standard for AI-powered educational tools. The positive feedback I received has been incredibly rewarding, validating our vision and hard work.

What I learned

Throughout the development of AskNotes, I learned the importance of balancing innovation with usability. While it’s exciting to work with cutting-edge technology, it’s essential to ensure that the end product remains user-friendly and accessible. I also gained valuable insights into optimizing database performance and refining AI models to deliver practical, real-world applications. Most importantly, I learned that building a product that genuinely helps people requires constant iteration, feedback, and a deep understanding of the user’s needs.

Built With

Share this project:

Updates