Inspiration

As Rutgers students, we’ve all experienced the frustration of juggling five different Canvas pages, hidden syllabus deadlines, scattered lecture notes, and unexpected exam dates. Existing planner apps require tedious manual input, while standard calendar apps don't understand academic priorities or grade weightings. We wanted to build a single, intelligent hub designed specifically for college students—one that doesn't just display your schedule, but actively helps you manage your workload and lock in when it's time to study

What it does

RULockIN is an all-in-one academic co-pilot and workload management dashboard. Key features include:
Canvas Calendar Sync: Ingests Canvas .ics calendar feeds to display all upcoming assignments, quizzes, and course events in one unified monthly and weekly calendar.
Smart To-Do Prioritization: Automatically orders and prioritizes your assignments based on due dates and grade weight impact.
Semester & Class Note Organization: Hierarchically structures imported files and notes by semester, class, and unit.
Exam Countdown: Tracks test dates chronologically with live countdown timers so midterms never catch you off guard.
Study Time Lockdown Mode: An interactive focus environment featuring a Pomodoro timer, distraction prevention, and end-of-session knowledge check quizzes

How we built it

AI-Assisted Development: Used Gemini and Claude extensively throughout our hackathon workflow to architect layout structures, generate utility functions, and rapidly iterate on complex parsing logic. Frontend Structure: Built using clean HTML5, custom CSS variables for light/dark theme adaptation, and responsive grid/flexbox layouts matching our initial wireframes.
Data Ingestion & Parsing: Created a custom JavaScript iCalendar (.ics) parser to process Canvas feed data, extract event metadata (summaries, course tags, due dates, descriptions), and categorize assignments.
State & Local Storage: Managed dynamic UI views (Schedule, Imports, To-Do, Notes, Exams) using modular JavaScript state management and client-side browser storage

Challenges we ran into

Lockdown Mode Functionality & Timing Controls: Configuring the Study Time lockdown environment was tricky. Ensuring the Pomodoro countdown timer transitioned smoothly between focus intervals and rest periods—while enforcing lockdown restrictions reliably without UI glitches—required extensive testing and fine-tuning.
CORS Restrictions on Canvas Feeds: Browsers block direct client-side fetching of Canvas .ics URLs due to Cross-Origin Resource Sharing (CORS) policies. We worked around this during testing by supporting file drop/upload and raw iCal text parsing while planning a backend proxy.
Parsing Unstructured Canvas Metadata: Canvas event summaries often format course codes and assignment titles differently (e.g., [CS111] Homework 2 vs. Homework 2 (CS111)). Writing reliable regular expressions to cleanly isolate course titles and assignment types required careful edge-case handling.

Accomplishments that we're proud of

Fine-tuning the lockdown workflow and timing mechanics to deliver an effective, distraction-free study session. Successfully building a fully functional .ics parser that transforms raw iCal text into clean, categorized dashboard items in milliseconds. Designing a clean, intuitive layout that bridges the gap between schedule management and actual study execution.

What we learned

Best practices for prompt engineering and collaborating with Gemini and Claude to quickly prototype and debug complex frontend applications under hackathon time constraints. How Canvas formats calendar data under the hood and how to handle datetime parsing across edge cases like all-day events and timezones. Strategies for state management and timing mechanics in JavaScript to build reliable timer-driven focus tools.

What's next for RULockIN

Gemini API Integration: AI Assignment Prioritization: Auto-analyzing syllabus weights to rank daily tasks by true grade impact. Automated Study Guide Generation: Converting uploaded class notes and slides into concise study sheets and review summaries. Smart Quiz Generator: Generating interactive practice quizzes at the end of every Pomodoro session based on uploaded course units. Backend Feed Syncing: Setting up a lightweight backend proxy server to continuously auto-refresh Canvas feeds in real time. Full Browser Extension: Converting the lockdown mode into a dedicated Chrome

Built With

Share this project:

Updates

Submission history