Inspiration for our Personalized AI Teaching Assistant for Canvas

Large introductory courses like Computer Science and Calculus often lack the capacity to provide personalized support at scale. As a student, I’ve seen peers turn to AI tools like ChatGPT for instant help, but those tools lack course context and can’t identify deeper learning gaps. I wanted to build a solution that bridges this gap: an AI assistant that truly understands the course, the student, and the instructor’s goals.

The Problem

  • Generic AI tools give answers but not understanding.
  • Instructors lack visibility into what students struggle with until exams.
  • Falling behind once leads to a chain reaction of confusion across future topics.

The Solution

A personalized AI teaching assistant that integrates directly with Canvas via API to access all course materials, assignments, and student progress. The AI adapts to each student's learning style and common mistakes, providing contextual support that aligns with course objectives.

What it does

  • 24/7 Personalized Support: Learns from each student’s mistakes and adapts explanations.
  • Course-Aware Assistance: References lectures, assignments, and notes through Canvas API.
  • Catch-Up Guidance: Creates tailored review paths when students fall behind.
  • Smart Escalation: Recommends human TAs or peer tutors when needed.
  • Instructor Dashboard: Highlights knowledge gaps and learning trends across the class.

How we built it

  • We used AWS Amplify to deploy the web app, ensuring smooth integration between front-end and back-end services.
  • AWS Bedrock powers the AI reasoning layer for contextual tutoring and feedback generation.
  • AWS S3 stores course data, embeddings, and user progress files securely.
  • Canvas API provides real-time access to course content and student performance data.

What we learned

Building this project taught us how to balance teaching and AI, ensuring the model not only answers questions but also teaches concepts. We also learned how to fine-tune context windows and build real-time API integrations to pull dynamic data from Canvas.

Challenges we ran into

  • Canvas API Integration: Managing authentication and permissions for multiple users.
  • Personalization Logic: Designing a system that adapts feedback based on learning style.
  • Data Privacy: Ensuring student data remains secure and FERPA-compliant.
  • AI Context Management: Keeping responses grounded in verified course materials rather than hallucinations.

Accomplishments that we're proud of

Students: Get help that actually teaches and guides them to mastery. Instructors: Gain visibility into student pain points early, improving outcomes. Education: Bridges the gap between everyday AI use and meaningful learning.

What's next for Course Companion

We plan to integrate real-time learning analytics using AWS personalize support even further and deliver predictive alerts when students are at risk of falling behind. We also plan to launch a beta program with UW courses to test usability, gather instructor feedback, and refine adaptive learning models. Long-term, Course Companion aims to become a plug-and-play AI teaching layer for any Learning management system, scaling personalized learning across universities worldwide.

Built With

Share this project:

Updates