Inspiration- We we inspired by both of our true experiences as first-time college students struggling to balance multiple syllabi and deadlines.

What it does- SyllaCal organizes assignments from multiple overlapping syllabi and sorts tasks into easy-to-understand graphics/formats for students to understand their priorities.

How we built it- We built SyllaCal using Next.js and React for the frontend, which handles the calendar view and UI. When a user submits syllabus text, our backend sends it to Google's Gemini API with a carefully engineered prompt that extracts structured data: assignment titles, dates, and types (exam, assignment, quiz, project), as JSON. From there, we run our own logic on top of that extracted data to detect overlapping deadlines across multiple syllabi and flag "crunch weeks" where several classes collide. The calendar view color-codes items by type and highlights these high-density weeks so students can spot them at a glance.

Challenges we ran into- Real syllabi are formatted inconsistently: tables, paragraphs, vague dates like "Week 8." Getting reliable extraction took real iteration on our prompt. We also had to build in defensive parsing since the model didn't always return clean JSON.

Accomplishments that we're proud of- The crunch-week detection is our own logic on top of the AI extraction, and it's what makes SyllaCal actually useful instead of just a fancy list. We're also proud of getting multi-syllabus support working, so students see their real semester across all their classes at once.

What we learned- We learned how much prompt wording affects reliability when extracting structured data from messy real-world text. We also got real practice collaborating through git and GitHub under time pressure.

What's next for SyllaCal- We'd like to add direct syncing with LMS platforms like Canvas, calendar export to Google Calendar and iCal, and the ability to mark items complete to track progress through the semester.

Built With

Share this project:

Updates

Submission history