Skip to content

andrewsuh98/columbia-course-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Columbia Course Assistant

An AI-powered course planning assistant for Columbia University students, built on a multi-agent pipeline. Specialized Claude agents collaborate to research courses and provide personalized recommendations.

Built at the Claude Builder Hackathon at Columbia Business School, April 12, 2026.

How It Works

A single chat interface routes your questions through a pipeline of specialized agents:

  1. Coordinator: Classifies user intent (simple query, research query, or recommendation) and routes to the appropriate agent pipeline
  2. Catalog Agent: Searches the local Columbia course catalog (4000+ courses across Spring and Fall 2026 semesters)
  3. Web Research Agent: Enriches courses with external context via the Linkup API (professor reviews, course reviews, industry demand, syllabi)
  4. Advisor Agent: Analyzes research results against your student profile (major, year, interests) and ranks courses with fit scores and reasoning

Simple questions ("when does COMS 4111 meet?") go directly to the Catalog Agent. Complex requests ("plan my next semester") trigger the full pipeline: Catalog -> Web Research -> Advisor.

The frontend streams agent status updates and responses in real time via Server-Sent Events (SSE).

Tech Stack

  • LLM: Claude Sonnet (claude-sonnet-4-6) via the Anthropic SDK (raw tool use, not Agent SDK)
  • Backend: Python 3.14, FastAPI, async/await throughout
  • Frontend: Next.js 16, TypeScript, Tailwind CSS, react-markdown
  • External Search: Linkup API (linkup-sdk)
  • Data: JSON course catalog (~4000 courses) loaded into memory at startup

Running the Project

# Backend
cd backend
cp .env.example .env  # fill in ANTHROPIC_API_KEY and LINKUP_API_KEY
source ../.venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload

# Frontend
cd frontend
npm install
npm run dev

Backend runs on http://localhost:8000, frontend on http://localhost:3000.

API Endpoints

  • GET /api/health: Health check
  • GET /api/courses: Returns full course catalog as JSON
  • POST /api/chat: SSE stream for chat (accepts ChatRequest with messages and student profile)

Team

  • Andrew Suh
  • Kaspar Soukup
  • Steven Mei
  • Leo Lin

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors