# Project export: ClassPilot

This document was generated by HackStack to give an AI agent context about a hackathon project. Sections are labeled with their provenance; content marked as truncated was cut to keep this document small.

## Project metadata

- Hackathon: UC Berkeley AI Hackathon 2026
- Tagline: Talk to your coursework. An AI layer over bCourses that turns plain-English requests into chained operations on your real course data — and shows you its plan before every answer.
- Devpost: https://devpost.com/software/classpilot-sw2onv
- GitHub: not linked
- Demo: https://raw.githack.com/ncl9100/classpilot/main/classpilot.html
- Team: contributor stats unavailable

## Devpost submission (written by the team)

### 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 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

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

## README (from the GitHub repository)

No README available.

## Detected evidence (automated analysis)

No repository was indexed for this project. Claimed technologies below could not be checked against code.
- Anthropic (technology) — claimed on Devpost, not found in the code
- HTML (language) — claimed on Devpost, not found in the code
- JavaScript (language) — claimed on Devpost, not found in the code

## Codebase structure

No repository index available.

## Key source files

No repository index available; no source files included.