๐Ÿš€ Commence โ€“ Effortless Course Management for Students ๐Ÿ“š

๐Ÿง  Inspiration

As first-year students, we quickly realized how overwhelming it was to keep track of all our assignments, quizzes, and exams just by looking at our syllabi. ๐Ÿ“… Manually entering deadlines into a calendar was time-consuming and frustrating. So, we built Commence to automate this process! Now, students can upload their syllabus, and our app extracts all the key dates and grading weightings automatically. ๐ŸŽ“

โšก What it does

  • Upload a course syllabus (PDF), and the app extracts:
    • ๐Ÿ—“๏ธ Important dates (exams, assignments, quizzes)
    • ๐Ÿ“Š Grading breakdown (midterms, final exams, etc.)
  • Automatically generates a downloadable calendar (.ics) for easy integration with Google Calendar, Apple Calendar, and more!
  • Saves all of your courses locally on the browser for you to come back and pick up where you left off
  • Displays courses in a clean, organized dashboard for quick access to all information.

๐Ÿ—๏ธ How we built it

  • Backend: Python with Flask ๐Ÿ”ฅ
  • PDF Parsing: PyPDF to extract syllabus content ๐Ÿ“„
  • AI Processing: Gemini API to identify key dates and grade components ๐Ÿค–
  • Frontend: HTML + CSS + JS for a simple and intuitive UI ๐ŸŽจ
  • Data Storage: JSON format for easy course data management ๐Ÿ“‚

๐Ÿšง Challenges we ran into

  • Connecting front end to backendโ€”it was very confusing at times on how some things worked as not all of us had experience with flask so connecting everything together was very tough at times
  • Integrating AI (Gemini API) to detect key syllabus componentsโ€”we had to fine-tune the prompt to make sure it gave us a similar output that can be processed.
  • Work Divisionโ€”our whole team was new to hackathons and we were all good at different things, so it was hard to split each other to do different components. However, at the end we figured out how to split the work and connect it all together in one app!
  • Local Storageโ€”it was very frustrating to keep uploading stuff everytime we made a small change in the ui. It was taking way too long so we wanted to save the data locally on the browser so even if anyone refreshes, their classes stay there without reuploading. That was a long process as that is something we had never done before.

๐Ÿ† Accomplishments that we're proud of

  • Successfully automating syllabus extraction, reducing manual work for students.
  • Seamless calendar integration, making it easy to track deadlines.
  • Building a fully functional Flask web app in a short amount of time! ๐Ÿš€

๐Ÿ“š What we learned

  • How to process PDFs efficiently using PyPDF.
  • The importance of structuring JSON data for easy retrieval and display.
  • How to connect Flask with a frontend to create a smooth user experience.
  • The value of time management and teamwork in a fast-paced development cycle!

๐Ÿ”ฎ What's next for Commence

  • Enhancing AI accuracy to handle different syllabus formats even better.
  • User authentication so students can save and access their courses across devices.
  • Mobile-friendly design for easy access on phones and tablets.
  • More integrations! Support for exporting data to Notion, Google Tasks, and more!

๐Ÿš€ Commence is here to make studentsโ€™ lives easier by automating course management. No more manually inputting deadlinesโ€”just upload your syllabus and let Commence handle the rest! ๐ŸŽ‰

Built With

Share this project:

Updates