Problem Statement: Create a tool that solves a real specific problem for a UW Madison student.
Every semester at UW Madison, students juggle 4-6 courses, each with its own syllabus format, deadline structure, and Canvas page. Between discussion sections, office hours, project deadlines, and exams - keeping track of everything becomes overwhelming. Students waste hours manually entering dates into calendars, miss assignment deadlines buried in 20-page syllabi, and scramble when multiple deadlines cluster during midterms week.
This tool solves that problem.
Upload your UW Madison syllabi once, get your entire semester organized automatically:
- ✅ Smart Calendar - All classes, assignments, exams, and office hours auto-added to Google Calendar
- 📁 Auto-Organized Drive - Clean folder structure for every course with tagged materials
- 📋 Task Breakdown - Complex projects split into actionable subtasks with timelines
⚠️ Conflict Detection - Warns when multiple deadlines cluster in the same week- 📊 Workload Visualization - See your busy vs. light weeks at a glance
- 📱 SMS Reminders - Text notifications for upcoming deadlines (because you actually read texts)
-
Syllabus Chaos: Every professor uses a different format - some use Canvas, others email PDFs, some post Word docs. This tool handles them all.
-
Hidden Deadlines: That discussion post due Sunday at 11:59pm? The extra credit opportunity mentioned on page 18? We find everything.
-
Time Management: With 15-week semesters, study blocks for midterms, and finals scheduled 3+ weeks out, you need smart planning.
-
Multiple Platforms: Canvas, Piazza, Google Classroom, email attachments - materials are everywhere. We centralize it.
-
Group Projects: Coordinate with classmates when everyone's schedules are different.
- Extracts assignments, due dates, exam schedules, grading weights
- Handles PDFs, Word docs, images, and text files
- Supports multiple syllabus formats (even handwritten notes!)
- Recognizes UW Madison-specific patterns (Canvas links, SOAR references, campus locations)
- Creates color-coded events for each course
- Multi-tier reminders (1 week, 3 days, 1 day before)
- Automatic study time blocking based on your free hours
- Updates automatically when professors change deadlines
- Integrates with UW Madison academic calendar (holidays, breaks, exam periods)
- Auto-generates organized folder structure in Google Drive
- Sorts materials by course, week, and type
- Links relevant files to calendar events
- Tags by course number (e.g., CS 300, MATH 340, ECON 101)
- SMS alerts for high-priority deadlines
- Customizable notification preferences
- "Heavy week" warnings when workload spikes
- Finals week countdown and study schedule suggestions
- Frontend: React/Next.js
- Backend: Node.js/Express
- AI: Claude API (Anthropic) - for intelligent syllabus parsing
- Integrations:
- Google Calendar API
- Google Drive API
- Twilio SMS API
- Database: PostgreSQL
- Auth: Google OAuth 2.0
- Node.js 18+
- Google Cloud account (for Calendar/Drive APIs)
- Anthropic API key
- Twilio account (for SMS)
# Clone the repo
git clone https://github.com/yourusername/academic-command-center.git
cd academic-command-center
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Add your API keys to .env# Anthropic
ANTHROPIC_API_KEY=your_key_here
# Google APIs
GOOGLE_CLIENT_ID=your_client_id
GOOGLE_CLIENT_SECRET=your_client_secret
GOOGLE_REDIRECT_URI=http://localhost:3000/auth/callback
# Twilio
TWILIO_ACCOUNT_SID=your_sid
TWILIO_AUTH_TOKEN=your_token
TWILIO_PHONE_NUMBER=+1234567890
# Database
DATABASE_URL=postgresql://user:password@localhost:5432/academic_command_center# Development mode
npm run dev
# Open http://localhost:3000- Sign in with Google to connect Calendar and Drive
- Enter your phone number for SMS reminders
- Upload all syllabi for the current semester (download from Canvas or email)
- AI shows extracted assignments, dates, and grading breakdowns
- Verify accuracy and make any corrections
- Click "Generate Structure" to create calendar events and folders
- Check your dashboard each morning for priorities
- Receive text reminders for upcoming deadlines
- Upload new materials as courses progress
- System automatically updates when schedules change
academic-command-center/
├── frontend/
│ ├── components/
│ │ ├── FileUpload.jsx
│ │ ├── Dashboard.jsx
│ │ ├── CalendarView.jsx
│ │ └── TaskList.jsx
│ ├── pages/
│ │ ├── index.jsx
│ │ ├── setup.jsx
│ │ └── auth/callback.jsx
│ └── styles/
├── backend/
│ ├── routes/
│ │ ├── upload.js
│ │ ├── calendar.js
│ │ ├── drive.js
│ │ └── sms.js
│ ├── services/
│ │ ├── claudeParser.js
│ │ ├── googleCalendar.js
│ │ ├── googleDrive.js
│ │ └── twilioSMS.js
│ └── server.js
├── database/
│ └── schema.sql
└── README.md
POST /api/upload
- Accepts: multipart/form-data (PDF, DOCX, images)
- Returns: Parsed course data (assignments, dates, weights)
POST /api/calendar/create
- Creates Google Calendar events from parsed data
GET /api/calendar/conflicts
- Returns detected scheduling conflicts
POST /api/drive/organize
- Creates folder structure and organizes files
POST /api/sms/schedule
- Schedules SMS reminders for deadlines
PUT /api/sms/preferences
- Updates user notification preferences
- Campus Integration: Recognizes UW Madison building names and locations (Van Vleck, Bascom, Memorial Union, etc.)
- Academic Calendar Sync: Pre-loaded with UW Madison semester dates, holidays, and exam periods
- Canvas Integration: Direct parsing of Canvas-formatted syllabi and assignment pages
- Credit Load Management: Tracks your credit hours and suggests optimal study time allocation
- Resource Links: Auto-links to UW writing center, tutoring resources, and academic advising
- Core syllabus parsing with Claude AI
- Google Calendar integration
- SMS notifications
- Canvas LMS direct integration (auto-sync with your courses)
- Mobile app (iOS/Android)
- Group project coordination features
- AI study buddy for exam prep
- Grade tracking and GPA projections
- McBurney Disability Resource Center accommodation tracking
- Notion/OneNote integration
- Integration with SOAR course registration
- Campus event discovery (lectures, career fairs, org meetings)
Contributions welcome! Please read CONTRIBUTING.md first.
- Fork the repo
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License - see LICENSE for details
- Uses Anthropic's Claude API for syllabus parsing
- Inspired by the chaos of managing multiple course syllabi at UW Madison
- Special thanks to frustrated students everywhere who just want to focus on learning
Questions? Issues? Open a GitHub issue or reach out at support@academiccommandcenter.com
Built for UW Madison students, by UW Madison students. Stop drowning in syllabi. Start crushing your semester. 🚀
On, Wisconsin! 🦡