Inspiration
I always see these videos of people getting high grades with minimal studying, and they always seem to follow these certain study techniques. When I watched the videos on study tips, I would always get confused on what they were saying, or would realize that the information is useless. As a result, I thought of building an AI that would give me a summary of the tutorial, so I could tell very quickly if information was fluff or was gold. I then decided to add some more features in the case that the tutorial had good information.
What it does
When the user enteres in the application, they need to choose their input method: either a youtube video url, or the transcript. Once they upload either one, they need to click the button for the app to process the plan. After that, the app provides them with 4 tabs: summary & details, action steps, practice questions, and an AI tutor. In the summary & details tab, the user is provided with a quick summary, along with key details and topics. In the action steps, the user is proivded with a personalized plan based on the tutorial, with step by step actions in a checklist format. In the practice questions tab, the user is quizzed based on the video in multiple formats: multiple choice, free response, and true or false. When they answer a question, it will either show as correct or incorrect, then follow up with an appropriate explanation. In the AI tutor tab, the user is greeted with an AI tutor who will answer any questions that it has about the video.
How we built it
The frontend was built using Streamlit, and the backend was built using FastAPI. The AI Chatbot was built using Bedrock Claude Haiku Model. The backend was also built uvicorn and an ASGI server.
Challenges we ran into
One challenge that I ran into was that I was not able to get the youtube url link to function correctly. When I tried inputting the youtube url, I was unable to connect to YouTube's API in order to transcribe the video. This posed a huge problem, as one of our input methods didn't work, meaning thta the only way that the user could transcribe was through manually putting in the transcript.
Accomplishments that we're proud of
This was my first time using FastAPI, and I was glad that it was able to work without any issues.
What we learned
I learned how to use FastAPI and increased my proficiency with using Streamlit. I learned some more functions in Streamlit, and how to use FastAPI.
What's next for TutorMate AI
One thing that I could definitely add would be adjusting the question difficulty based on the user's peformance. Like for example, if the user keeps on getting hard questions wrong, then the questions should shift to medium difficulty. Another addition could be creating a question analytics tab, in which the user can see the percentage of questions they got correct, and some more analytics/metrics.
Log in or sign up for Devpost to join the conversation.