Inspiration

I have some friends who are very meticulous with their online calendars, so much so that our hangouts have dedicated timeslots. They tried to convince me to follow them seeing that I am a master procrastinator and have the memory span of 3 kilobytes, to little success.

Well, I have missed a fair share of homeworks because of this carelessness, so I have invoked the principle of Why Spend 10 Minutes Doing It When You Can Spend 10(+) Hours Failing To Automate It.

What it does

It takes in a screenshot of your syllabus or a text copy, then extracts out all relevant course meetings, homeworks, quizzes, exams along with their information, and display back to you on the interface. From there you can make additional edits if needed, and then export the entire schedule into a compatible calendar format.

How we built it

I built the backend in Go, calling GPT APIs to parse the schedule and outputs a machine-readable format. The frontend is written in Vanilla JS with jQuery/Bootstrap.

Challenges we ran into

It took a lot of time and tweaking the system message to get GPT to output a satisfactory result, mainly because there might be a lot of missing info that needs to be inferred from the text. I tried using Google's Breadboard AI to cyclically prompt the user for missing info, but could not get it to exit the loop, so that was fun. I also tried to build the frontend with React, but my skill is too rusty to spend time fixing bugs that I create. Making interactive vanilla JS comes with a lot of quirks, but I got most of them done.

Accomplishments that we're proud of

Writing a backend in Go, yay! Also the product is (mostly) functional, something I can't say the same for most of my projects.

What we learned

Go is good. Bless you Google for making the 7749th programming language. Also, learn React please.

What's next for Syllabus Parser

Aside from completing the missing 2% of functionality, I'm thinking of making some enhancements like study plan recommendation, schedule optimization, integration with Google/Outlook calendars, etc.

Built With

Share this project:

Updates