Inspiration
Every student lives inside a learning management system — bCourses, Canvas, Brightspace — and quietly hates it. Deadlines, grades, and resources are scattered across a dozen tabs, buried three clicks deep. The information you need to make a smart decision ("what should I work on right now?") is technically all there, but the interface hides it. We wanted to flip that: instead of you navigating the LMS, the LMS answers to you.
What it does
ClassPilot unifies your classes into one dashboard and one chat with two modes:
Conversation mode — a grounded study advisor. "I'm feeling behind." "Which class should I focus on?" It answers using your real assignment and grade data, not generic platitudes.
Command mode — the core idea. You type plain English like "show open assignments due this week sorted by weight" and ClassPilot translates it into a chain of data operations over your courses (open() | dueWithin(7) | sortByWeight()), runs it, and returns a clean table.
The key principle: it always shows you the plan before the answer. The AI is never a black box — you see exactly how it interpreted your request. Commands chain UNIX-style, so one sentence can fetch, filter, sort, and aggregate at once.
How we built it
- Frontend: a single self-contained web app — dashboard widgets, an "Up next" deadline feed, and the dual-mode chat.
- Engine: a small, safe set of predefined widgets (data sources: assignments, grades, classes, resources) and generic operations (filter, sort, average) composed into an execution plan.
- AI: Claude turns natural language into a structured plan (JSON). A deterministic local parser ships as a fallback so it runs fully offline for demos; drop in a Claude API key to make interpretation fully general.
- Data: mocked to mirror a Canvas LMS API export, so going live is a single data-source swap.
Challenges we ran into
Keeping the AI safe and bounded — we deliberately don't let the model run code; it only emits a plan against a fixed vocabulary, which we then execute. This trades a little flexibility for a lot of trust. We also worked to make the plan readable to a stressed student, not just an engineer.
Accomplishments that we're proud of
A working natural-language → execution-plan interpreter that runs offline and gets more powerful with a real model behind it, a genuinely transparent AI interface where every answer ships with its plan, and a solution to a problem every person in the room actually has.
What we learned
The winning move with LLMs isn't "let the model do everything." It's giving the model a small, trustworthy vocabulary to translate into. Constrained generation beats open-ended generation for anything a user relies on.
What's next for ClassPilot
Live Canvas / bCourses API integration; action commands that do things (add to calendar, email your GSI); a cross-class study planner that weights effort by grade impact; and voice input for hands-free use.
What we learned
What's next for ClassPilot
Built With
- anthropic
- api
- canvas
- claude
- html
- javascript
- lms
Log in or sign up for Devpost to join the conversation.