Inspiration:

We've all been there—drowning in deadllines, scattered across different syllabi that are impossible to keep track of. You may, like us, try to get ahead of this by tediously adding every single event from every single class into your calendar, one by one. But even that takes ages, and it's easy to miss some dates when every syllabus is formatted differently. That's why we set out to create Calendify, a seamless solution for students to effortlessly turn syllabi into organized calendars.

What it does:

Calendify transforms the tedious task of manually entering syllabus dates into a fun and easy experience. Users upload PDFs of their syllabi, and Calendify extracts all the important information. Users are given a preview where they can decide to remove certain events (for those who never attend tutorials...), or edit any details including date and time, location, and even a description (it automatically adds grading weights here if available!). Once satisfied, simply press confirm to download the .ics file that can be uploaded to the calendar app of your choice.

How we built it:

Our web app features a dynamic React frontend, and a Flask-powered backend. We used pdfplumber API to extract of each pdf and put the all together. We added constants such as semester start and end dates as well as days off for spring break. Finally, through trial and error we meticulously crafted a tailored query to pass to OpenAI to format in .ics syntax. We parsed through this to display on our user interface for editing purposes, then manually reformatted it to .ics to be downloaded by the user.

Challenges we ran into:

We had to pass a lot of data to many different places in our code, which was pretty complicated. There were also a lot of dependencies that weren't always compatible with each other, so we had to switch versions multiple times.

Accomplishments that we're proud of:

We're so proud of how the frontend turned out for this project, as it's a lot better than what we've been able to produce. We feel like we've gotten more and more comfortable with React and Javascript as the past 24 hours progressed.

What we learned:

We learned how to use Postman to test sending requests to the backend before the frontend was fully developed. We learned a lot of new design tricks, such as making animations with Adobe. We also definitely solidified our React and Flask skills.

What's next for Calendify:

While we have a public domain now thanks to GoDaddy, our app needs a private api key to run the backend which we obviously can't just publish for everyone to use. So, future goals would be to make this a live website that students anywhere can use on their own computer to help them keep track of deadlines and make their lives a lot easier.

Built With

Share this project:

Updates