Inspiration

As computer science students balancing heavy course loads, project deliverables, and shifting weekly workloads, we realized that traditional calendars are purely reactive. They show you when things are due, but they don't help you figure out how and when to actually get the work done without burning out. We wanted to build an intelligent study scheduler that acts like a real academic advisor—automatically reading Canvas assignments, respecting sleep schedules, and weaving study blocks seamlessly around existing classes without conflicts.

What it does

StudySmart (VT-BrainWyrmAI) is a web-based AI study scheduler that bridges the gap between LMS assignment data and personal calendars.

Canvas Integration: Ingests assignment JSON data to dynamically estimate workloads based on student profiles (learning pace, GPA goals, available daily hours).

Smart Timetable Parsing: Parses .ics calendar files to map out existing classes and commitments.

Conflict-Free & Relaxed Scheduling: Generates an optimized, evenly distributed study schedule that strictly protects sleep hours, avoids class overlaps, and spaces out study blocks with built-in buffer times to prevent burnout.

Calendar Export: Instantly exports the finalized schedule as an .ics file ready to be imported into Google Calendar or Outlook.

How we built it

Frontend: Built with a clean, responsive HTML5/CSS3 and modern JavaScript interface designed for frictionless user onboarding and instant file processing.

Backend: Developed using Spring Boot (Java) with Maven, handling API routing, assignment workload estimation, and fallback hybrid orchestration.

AI & Fallback Engine: Integrated the Google Gemini API (Flash model) for intelligent task analysis and workload sizing, backed by a robust client-side heuristic scheduling algorithm that guarantees 100% uptime and zero-failure output even under API rate limits (429/503).

Challenges we ran into

API Rate Limits & Service Availability: During peak testing, we hit Gemini API quota limits (429) and server availability spikes (503). Overcoming this required refactoring our architecture into a hybrid system—implementing a robust local scheduling fallback so the app remains fully functional and reliable for live demos.

Calendar Parsing & Timezones: Handling diverse .ics date formats (DTSTART, DTEND, UTC vs. local timezones) without shifting schedule blocks into odd hours or causing overlaps took rigorous testing of our interval conflict-check algorithms.

Preventing Schedule Bunching: Early iterations crammed all study blocks into the first available days. We had to fine-tune our distribution logic to evenly spread tasks across the week and enforce buffer zones between sessions.

Accomplishments that we're proud of

Successfully engineering a hybrid scheduling engine that gracefully handles AI downtime without crashing the user experience.

Building a precise .ics parser and interval collision-detection system that respects real student constraints like sleep schedules and back-to-back classes.

Delivering a polished, end-to-end product that solves a genuine daily pain point for college students.

What we learned

Defensive Architecture: Relying solely on external LLM APIs in a hackathon setting is risky. Building a robust local algorithmic fallback is essential for true reliability.

Timezone Management: Deeply understanding how .ics files handle time strings and UTC offsets saved us from major scheduling bugs.

UX Simplicity: Keeping the multi-step onboarding and file upload flow intuitive makes complex backend calendar computations feel effortless for the end user.

What's next for VT-BrainWyrmAI

Direct Canvas API Integration: Moving from a browser extension data-copy approach to direct OAuth-based Canvas LMS syncing.

Two-Way Google Calendar Sync: Integrating directly with the Google Calendar API to automatically push study blocks instead of requiring manual .ics downloads.

Adaptive Learning Feedback: Allowing users to mark study sessions as completed or difficult, so the AI can dynamically adjust future study estimates in real-time.

Built With

Share this project:

Updates

Submission history