Inspiration

Students use Canvas every day, but it remains a passive system. It shows assignments, grades, files, and announcements , but it doesn’t actually help students understand what to do next. We noticed a common pattern: students spend a significant amount of time managing coursework instead of actually learning. They check multiple courses, read long PDFs, try to interpret grades, and struggle to prioritize topics. This inspired us to ask a simple question: What if Canvas could think and act like an intelligent assistant instead of just displaying information?

What it does

Canvas Copilot transforms Canvas into a state-aware AI learning system. Instead of being a passive LMS, it continuously: -Monitors course activity -Detects meaningful changes -Takes intelligent academic actions automatically The system builds a dynamic student state graph, where every event (new material, grade updates, messages) becomes a state transition. Based on this, a multi-agent system: *Summarizes content *Generates quizzes and flashcards *Creates study plans *Produces explanations *Assists with inbox responses It supports: Autonomous Mode → runs in the background and reacts automatically Manual Mode → allows students to directly interact with course content

How we built it

We built a full-stack system with: Frontend: React + Vite (modern, responsive UI) Backend: Node.js + Express Integration: Canvas API using Personal Access Token Orchestration: LangGraph for stateful multi-agent workflows Instead of cloning data, we: ->Connect directly to live Canvas APIs ->Operate on real-time course data ->Build a state graph representation of student activity The core architecture: Canvas events → state updates State transitions → trigger workflows Workflows → activate specialized agents LangGraph allows us to orchestrate these agents in a structured and deterministic way, rather than relying on isolated prompt calls.

Challenges we ran into

@Canvas Authentication: Full OAuth integration requires institutional approval, so we adapted by using Personal Access Tokens while maintaining security and usability. @State Management Complexity: Modeling Canvas as a dynamic state graph required careful design to ensure consistency and correct agent triggering. @Multi-Agent Coordination: Ensuring agents worked together (instead of independently) was challenging. LangGraph helped us structure these interactions. @Merging UI and Logic: Significant UI changes during development required us to refactor and re-integrate features without breaking functionality. @Handling Real-Time Data: Working with live Canvas data introduced unpredictability in structure and required robust parsing.

Accomplishments that we're proud of

-Built a state-aware AI system, not just a chatbot -Successfully integrated Canvas live data -Designed a multi-agent architecture with clear responsibilities -Created an adaptive study plan system with customization -Delivered a clean, modern UI aligned with the AI-first experience Most importantly, we transformed Canvas from a passive tool into an active learning system.

What we learned

?How to design agentic workflows instead of single-step AI calls ?The importance of stateful systems in real-world AI applications ?How to integrate external APIs into AI-driven systems ?Balancing engineering complexity with user experience ?The value of clear system architecture when building multi-agent solutions

What's next for Canvas Copilot

Replace Personal Access Token with full OAuth integration Add real-time notifications and proactive alerts Improve AI-generated video explanations Introduce performance tracking and learning analytics

Built With

Share this project:

Updates