Inspiration

As it's now AP exam season, I have spent several hours over the past few weeks studying for all five of my AP exams this year, including two of the most content-based exams: AP Chemistry and AP US History. Two of the most used tools for studying and reviewing lessons include watching YouTube videos and reading through review documents/PDFs posted online.

However, as I was consuming all of this content, I couldn't help but struggle to focus on what was being said. There was just so much content, and I was getting tired. After consuming the content on the video or the PDF, I would struggle to retain my knowledge when taking practice quizzes. I wondered, "There has to be a better way of studying all of this content efficiently?" Then it struck me. What if I created a tool that allows me to upload videos or PDFs and outputs reviews, quizzes, and key concepts? That's when the idea for Quizicate AI was born.

What it does

Quizicate AI allows users to upload videos or PDFs, and after processing the content, Quizicate AI will output review resources such as summaries, quizzes, and key concepts that revolve around important content from the source.

How we built it

First, use the AWS Amplify framework to construct a static webpage. This webpage should be hosted safely on Amazon S3, with access managed by Amazon Cognito permission and authentication systems. Use Amazon CloudFront to effectively manage content delivery. It optimizes the webpage's distribution to users in different locales.

Subsequently, create an event-driven architecture by utilizing a Cognito pool connected to the CloudFront bucket for user authentication. Whenever files are uploaded to a designated folder on Amazon S3, events are triggered. To ensure efficient processing and control of data flows inside the system, configure Amazon EventBridge rules to handle these events.

An automatic call to an AWS Lambda function is made upon receiving an event notification. This Python code-implemented method is in charge of turning video files into text.

Challenges I ran into

While working on the architecture for Quizicate AI, I worried that the model may hallucinate, which means that random or possibly incorrect information is outputted, because the model just searches up the question instead of doing what it was trained to do. For example, do you ever notice when AI chatbots produce incorrect answers for simple math, science, or any type of question, just randomly? I researched how to fix this issue, and came across something called Retrieval Augmented Search (RAG) which minimizes hallucination and outputs proper, contextualized information. Quizicate AI will be using RAG when generating intelligent questions and answers.

Accomplishments that I am proud of

I am proud that I was able to create the architecture and basic framework for Quizicate AI. I was able to map out every single step that I should take to implement Quizicate AI including how to process the information and invoke RAG on the input data to generate intelligent review tools. This will help me have a baseline for when I end up deploying this project.

What we learned

When researching model hallucination, I came across Retrieval Augmented Search (RAG). This tool minimizes hallucination and outputs proper, contextualized information. Before this project, I only knew about Large Language Models, but now that I know about RAG, I can use this tool for future projects to ensure optimal results from the model.

What's next for Quizicate AI

Now that the architecture is set up, I can start coding Quizicate AI and deploy it as a website. I want Quizicate AI to offer high-quality reviews, incorporating short lesson reviews, quizzes, and possibly even flashcards. Quizicate AI will become students' go-to tool for studying for exams, ensuring that they retain important content while using their time most efficiently.

Built With

Share this project:

Updates