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

Share this project:

Updates