Inspiration

Many students spend an unhealthy amount of time on schoolwork, and our group’s goal when making TeachMeDotAI was to make studying more efficient for students. Using textbooks can be tedious, as content can be hard to find and answers are at the back of the book. By creating this program, it would save students time by streamlining their studying experience.

ChatGPT has taken over education but in a bad way. Some information it can give is misleading, or outright wrong. We wanted to fix that.

What it does

Our program can take in a pdf file of a student’s textbook and help them learn the material through a variety of features. Users can ask our program questions about the textbook content, and it will respond as if it is the author. In addition, our program can summarize chapters of the textbook, and create customized quizzes based on the content.

How we built it

TeachMeDotAI was built using Flask, an open-source web application framework written in Python. The program uses the FAISS library to index the pages of the PDF file and store them as embeddings. The OpenAI API is used to provide natural language processing capabilities, which allow the program to answer user questions and generate quiz questions. The program also uses the PagedPDFSplitter library to split the PDF file into individual pages, and the pickle library to serialize the embeddings and save them to disk. Finally, the program uses the Flask-CORS library to handle cross-origin resource sharing, and the Flask-SSLify library to enforce HTTPS.

The frontend is all on Nextjs and hosted on vercel.

Challenges we ran into

One of the most challenging parts of coding this project was learning to fine-tune a model rather than using an API, which is a brand-new skill that our group learned. Completing the program in the given timeframe was extremely challenging, and our group could not add certain features that we had hoped to, such as our program being multilingual. Another difficult aspect of creating TeachMeDotAI was connecting flask to Next.js. This requires a lot of work with SSL certifications and securing private keys, but it is an essential step in building secure and reliable web applications. By taking the time to carefully configure these components and ensure that they are compatible with both frameworks, we created a powerful and effective web application that protects user’s data from unauthorized access.

Accomplishments that we're proud of

It was cool talking back and forth with the AI and getting real-human responses. Additionally, it was able to reason much more effectively than ChatGPT at some points with the information it was given.

What we learned

  • How to fine-tune a model and develop a machine learning algorithm from scratch
  • The importance of time management and prioritization when working on a project with a strict deadline
  • How to connect Flask and Next.js and implement SSL certification and private key security measures for a web application
  • The importance of user-centered design when developing a program for a specific audience, in this case, students.

What's next for TeachMeDotAI

  • Multilingual responses
  • More smart problem-solving and prompt chaining
  • Potentially adding text-to-speech
  • Creating solutions to textbook problems

Built With

Share this project:

Updates