Inspiration

As college students, we often juggle multiple assignments, back-to-back classes, and the ongoing hunt for study spots — only to find them full! We wanted to create an AI assistant that not only keeps track of our academic workload but also helps us study smarter by suggesting optimal times and locations based on our real schedule and real-time room availability.

What it does

Canvas Copilot is a smart AI assistant that: -Retrieves upcoming assignments -Displays your current grades -Shows your enrolled courses -Suggests study time slots based on your real class schedule -Uses Azure AI Vision to detect and suggest empty study rooms -Understands natural language input through Gemini Pro AI -Includes motivational and casual responses to keep users engaged

How we built it

Frontend: Tailwind CSS, vanilla JS, and a friendly chat-style UI. Backend: Flask (Python), with routes to handle AI, study logic, and Canvas API responses. AI Integration: -Google Gemini Pro AI for intent parsing and conversation logic -Azure Custom Vision to analyze room images and detect occupancy -Canvas LMS API (Synthetic) for course, grades, and assignment data -Custom scheduling logic to parse JSON class schedules and generate free study time blocks.

Challenges we ran into

-Getting Gemini AI to return valid structured JSON instead of natural text -Making room detection from Azure Vision reliable with limited training data -Aligning AI prompts with backend logic and expected data formats -Tailwind layout issues with chat bubbles and dark mode toggling -Handling edge cases in class schedule parsing (e.g., split day/time strings)

Accomplishments that we're proud of

-Fully integrated Gemini Pro and Azure Vision in one seamless assistant -Designed a clean, dynamic chat interface from scratch -Created a suggestion engine that matches real class data with available rooms -Allowed both button-based and freeform AI questions -Worked through dozens of bugs, late-night debugging, and zero to demo-ready

What we learned

-How to combine LLMs and real APIs for practical student-facing tools -Building a working full-stack app with AI, vision, and LMS data -Writing better prompts for AI assistants to generate structured output -How important it is to have fallback logic when AI fails

What's next for canvas_copilot

  • Add user authentication to connect to real Canvas accounts
  • Let users book rooms directly from the suggested time slot
  • Build a mobile app version or Chrome extension for real-time access
  • Improve Gemini responses by tuning with examples and context chaining
  • Incorporate live webcam feeds for occupancy detection
  • Send study reminders or motivational nudges based on user goals

Built With

Share this project:

Updates