๐ 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.)
- ๐๏ธ Important dates (exams, assignments, quizzes)
- 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! ๐
Log in or sign up for Devpost to join the conversation.