AI-powered academic planning for University of Michigan students. Upload your degree audit, set your career goals, and get a personalized course pathway with a built-in AI advisor.
1. Install dependencies
npm install2. Add your API key
Open .env.local and fill in your Anthropic key. The OpenRouter key may remain in the file, but the app does not use it:
ANTHROPIC_API_KEY=sk-ant-...
ANTHROPIC_MODEL=claude-haiku-4-5-20251001
ANTHROPIC_MODEL is optional; it defaults to Claude Haiku 4.5 (claude-haiku-4-5-20251001).
3. Run the dev server
npm run devOpen http://localhost:3000.
| Step | URL | What happens |
|---|---|---|
| 1 | / |
Landing page |
| 2 | /upload |
Upload your degree audit PDF (Wolverine Access → Student Records → Degree Audit → Save as PDF) |
| 3 | /profile |
Enter year, major, home school/program, career goal, AP/transfer credits |
| 4 | /dashboard |
Course recommendations + semester planner + AI advisor |
The app now uses a single curated source:
courses_master.db(Atlas-style schema from data mining pipeline)
Normalized API rows now also include:
source, atlas_url, prereq_hard_codes, prereq_advisory_text, top_degrees
app/
page.tsx # Landing
upload/page.tsx # Audit upload
profile/page.tsx # Profile builder
dashboard/page.tsx # Main 3-panel dashboard
api/
parse-audit/ # POST: PDF → course list
courses/ # GET: search + ranked recommendations
advise/ # POST: streaming chat (Anthropic)
lib/
anthropic.ts # Anthropic client + model configuration
claude.ts # Advisor system prompt builder
store.ts # Zustand global state
audit-parser.ts # PDF → taken/remaining courses
course-ranker.ts # Scoring algorithm
db.ts # SQLite (better-sqlite3)
types.ts # Shared TypeScript interfaces
courses_master.db # Curated Atlas-style source used by app/runtime
schema.md # Human-readable schema reference for agent context
npm run build
npm start