Inspiration
We were inspired to do this project after reminiscing about a Linear Algebra course we all took together last quarter. Our professor wasn't the best at explaining the material, so for us self study was essential to our success in that class. This was somewhat tedious, however, because it felt hard to pace out subject material every week. We thought it'd be a good idea to create a AI-based study-organizer for this purpose, taking in a syllabus for a class and providing you the necessary concepts and important dates to focus on in the near future.
What it does
Our app uses the Gemini API in order to help students extract key information from their syllabi regarding concepts taught in the class. The application provides problems for the given concepts discussed within the class, allowing students to stay on track and build understanding of concepts taught within class.
How we built it
This application uses Flutter as a frontend for the website, with Firestore Firebase as a database. This application heavily used the Gemini API in order to create summaries of classes alongside creating questions for these concepts. Prompt engineering was integral to the function of this program, as we needed the Gemini API to both summarize syllabi and provide questions for concepts, alongside making these requests machine readable so that that could actually be used in this program.
Challenges we ran into
We faced many challenges during the creation of this project, however it was clear to all of us that prompt engineering was quite difficult, especially with the frequent inaccuracies within the Gemini API. This was because the free tier of the Gemini API does not allow for non-string outputs for prompt, meaning that we were forced to convert string outputs from Gemini into machine-readable outputs. It took a lot of time to obtain the right prompts to get Gemini to spit out the right information consistently, and it made us appreciate the struggles that prompt engineers have to go through to use stubborn LLMs. We were eventually able to overcome these setbacks through a mix of getting lucky with the right prompts and looping Gemini prompt responses until it gave an acceptable output.
Accomplishments that we're proud of
The main accomplishment that we're proud of is being able to finish this project in the first place. We were forced to pull an all-nighter to finish this application, and we're happy to say that we at least finished with a project that holds up to vision in some sense. If we were to be more specific, however, it would probably be that this has been the first time that we've worked with an LLM API in this fashion, so its impressive to see that we were able to build an fully functioning application with software we essentially learned yesterday.
What we learned
We learned quite a lot of things during the process of this hackathon. As stated before, we were able to integrate an LLM API into a full stack application, however we also learned a lot about communication and developing applications as a team. We had to coordinate a lot (especially with git repo pushing) about the role of each person within the team, and it allowed for us to get a feel of what working in the tech industry might be like in the future.
What's next for Syallbi.AI
We’re excited about the future potential of Syllabi.AI and have a few directions we’re considering for development. First, we want to expand beyond just syllabi parsing and delve deeper into building adaptive learning schedules based on individual student performance and preferences. This would involve integrating user feedback loops and possibly leveraging more advanced fine-tuned models to make the generated content more personalized and pedagogically sound. Another area we're looking into is integrating university-specific data, such as school calendars, exam schedules, and grading policies, so that the study plan feels more native to each institution. We’re also thinking about adding natural language interfaces so users can “talk” to their syllabus—asking questions like “What should I study this week?” or “When is my next quiz and what’s it on?”
Log in or sign up for Devpost to join the conversation.