Inspiration
We were inspired by the need of many students to review lectures efficiently and go over material throughout the school year. Simply asking AI models to go over a general topic of a class may miss many important details of the class, but giving them all of their notes may not provide all of the information they would like. We created missedmylecture to provide University of Pittsburgh students the resources to get class-specific AI learning experiences.
What it does
Our project allows students to upload their notes and input in their Pitt-specific class to receive AI created resources and summaries on their desired subject. In addition to a well formatted LaTeX file of their notes, they receive a concise summary of their topic, a glossary of key terms, related YouTube videos, their textbook with the relevant pages, and an AI chat tailored to answer any questions about their topic.
How we built it
In terms of our tech stack, we used React and Tailwind CSS for our front-end display. In the back-end, we used many different APIs and frameworks to generate content for the user. Flask was used to handle app routing and file transferring. Google Gemini was the key component for generating content through AI. We used PittAPI to get students' courses and textbooks, in order to provide more specific help for Pitt students. Finally, for formatting, we used MacTex for the LaTeX files. For version control, we used Git and Github.
Challenges we ran into
We faced several significant challenges during the development of MissedMyLecture:
API Integration: Combining multiple APIs like Google Gemini for AI content generation and PittAPI for course information required careful attention to each service's intricacies.
CORS Issues: Ensuring seamless communication between our React front end and Flask back end involved resolving CORS problems and configuring our server securely.
File Handling: Managing large PDF uploads and efficiently processing them in Flask was challenging. Converting user notes into well-formatted LaTeX documents required complex parsing and dynamic formatting.
AI Chat Implementation: Tailoring the AI chat feature to specific course content demanded fine-tuning the AI model to balance general knowledge with course-specific assistance.
Team Coordination: Working under time constraints, we had to coordinate effectively, maintain consistent code integration, and align our development goals through effective communication and collaboration.
We're proud of creating a cohesive platform that enhances students' learning experiences by integrating various technologies. Overcoming technical challenges like API integration, file management, and CORS configuration resulted in a robust and reliable application.
Key Accomplishments
AI Chat Feature: Developed a personalized AI chat using Google Gemini to assist students with course material.
LaTeX Note Generation: Successfully converted user-uploaded notes into well-formatted LaTeX documents.
User-Friendly Design: Created an intuitive front end with React and Tailwind CSS, making advanced tools accessible without overwhelming users.
Pitt-Specific Resources: Incorporated PittAPI to tailor resources specifically for University of Pittsburgh students.
Effective Collaboration: Coordinated efficiently as a team, leveraging each member's strengths, and used Git and GitHub to prevent conflicts and streamline development.
What we learned
Throughout this project, we gained significant insights into full-stack development and the challenges of integrating multiple technologies. We learned to manage and resolve CORS issues, enhancing our understanding of web security and server configuration. Working with Flask improved our ability to handle file uploads securely and process data efficiently.
We deepened our knowledge of AI integration by fine-tuning models with Google Gemini to produce relevant content. Converting user notes into LaTeX documents honed our skills in text parsing and formatting automation. Using PittAPI expanded our experience with external data sources and tailoring applications to specific user groups, emphasizing the importance of thorough documentation when working with new APIs.
On the front end, we enhanced our proficiency with React and Tailwind CSS, creating responsive and intuitive interfaces. The project highlighted the importance of effective teamwork and communication, especially under time constraints, teaching us to leverage each other's strengths and collaborate efficiently.
What's next for missedmylecture
Individual student accounts for pitt.edu emails and saving/accessing previously generated content!
Log in or sign up for Devpost to join the conversation.