Inspiration
Many students struggle to keep track of assignments and tests because course information is scattered across multiple pages in Quercus (University of Toronto), the university’s learning management system built on Canvas. We wanted to build a tool that automatically gathers deadlines from all courses and presents them in one place so students can easily manage their workload and avoid missing important tasks.
What it does
CanvasBuddy is an AI-powered agent that connects to a student's Quercus account and intelligently navigates their courses to automatically extract assignments, tests, and deadlines. Rather than simply reading a static page, the agent actively reasons about course content — interpreting varied formats, inferring due dates from syllabus text, and prioritizing tasks based on urgency. All of this is surfaced in a centralized dashboard and timeline so students can manage their entire workload at a glance, without manually digging through each course page.
How we built it
We built CanvasBuddy as a browser extension using JavaScript, powered by an AI agent that interacts with the Quercus interface at runtime. The agent uses the Canvas LMS structure and DOM to navigate course pages, and leverages a language model to interpret unstructured content — such as syllabus documents and announcement text — to reliably extract deadlines even when they aren't in a standard format. Extracted tasks are parsed, deduplicated, and organized into a clean dashboard UI that students can access directly from their browser.
Challenges we ran into
One major challenge was reliably extracting assignment information from Quercus pages, since different courses may structure content and deadlines differently. We also had to ensure the extension could access the necessary data without disrupting the normal browsing experience or breaking when the page structure changes.
Accomplishments that we're proud of
Within the limited time of a hackathon, we successfully built a working prototype that automatically aggregates deadlines across multiple courses. Turning scattered course information into a single organized dashboard demonstrated how a simple tool can significantly improve the student experience.
What we learned
Through this project, we learned how to build a browser extension using JavaScript, work with web page structures and DOM parsing, and quickly prototype a useful tool in a collaborative environment. We also gained experience designing interfaces that prioritize clarity and usability.
What's next for CanvasBuddy
In the future, we want to add features such as calendar integration, deadline notifications, and smarter prioritization of tasks based on urgency. We would also like to improve the robustness of deadline detection and expand compatibility with other learning management systems beyond Quercus.
Log in or sign up for Devpost to join the conversation.