Inspiration
Four years, ten classes a year: forty syllabi to memorize, schedule, and plan around. Wish there was a way to automate your class calendar? We, as students, understand the pain of trying to remember which quiz you have coming up next week, or where you class is on week one and wanted to design a solution. Syllabus Scanner allows students to upload a class syllabus to then quickly and neatly return all you will need to ace your class. Summaries, prerequisites, office hours, and class schedule. Also included is our flagship feature, the ability to add your midterms, exams, and class periods to your Google Calendar instantly. By authorizing your Gmail you will have your class period, location, start and end date, and summary instantly added to your Google Calendar.
What it does
As the user upload a PDF of their syllabus, they can get a comprehensive summary, add key dates to Google Calendar, review any necessary prerequisites, and store course information for convenient future viewings
How we built it
The frontend of our product was built primarily with React and Tailwind CSS to support rapid prototyping while maintaining performance, dynamic styling, and easy integration. The backend of our product was developed using Flask for its minimalistic framework and integration capabilities. In terms of external tools, we used Aryn's DocParse to simplify content chunking and extraction from syllabus documents, which can sometimes be up to 10 pages long. Additionally, we integrated Claude's 3.5 Sonnet model with an instruction-based approach to analyze and isolate core components and relevant information. For the event storage feature, we integrated GoogleOAUTH Credentials, which allowed for date data to be formatted, pushed, and stored onto user calendars. Finally, our data storage prototype is developed using Local Storage and React Context, which allows users to view past course information.
Challenges we ran into
- Styling issues relating to differences in asset, element, component, and viewport sizes
- Loss of data following component rerouting
- Refactoring our existing codebase to support local data storage
- Ensuring correct data routing to Google Calendar
Accomplishments that we're proud of
- Successful integration of Claude into our backend
- Successful application of React Router for screen navigation and data routing between pages
- Smooth integration of Aryn DocParse in extracting and sending text document data to our Claude LLM
- Successfully debugging/resolving several challenges and issues encountered during the development process.
What we learned
- React UI development best practices
- Effective prompt engineering with LLMs
- GoogleOAUTH integration relative to email and calendar automation
- Data routing between the frontend and backend of our web app
What's next for Syllabus Scanner
- More secure data storage using independent databases
- Automation applications for group projects/assignments, such as automated email reminders near assignment due dates
- Cleaner user interface and responsiveness to more devices
- More academic support features like providing free online resources for exams
Built With
- aryn
- claude
- flask
- javascript
- python
- react
- tailwindcss
Log in or sign up for Devpost to join the conversation.