A smart scheduling application for CMU students that uses Claude AI to optimize meal and workout times around class schedules.
- π
Import Academic Schedule: Upload your
.icscalendar file from SIO or schedule tools - π½οΈ Nutrition Planning: Set meal preferences, favorite dining locations, and places to avoid
- πͺ Fitness Planning: Configure workout frequency, activity types, and muscle group targets
- π€ AI-Powered Scheduling: Claude AI generates optimized meal and workout schedules
- π₯ Export to Calendar: Download your complete schedule as an
.icsfile for Google Calendar, Apple Calendar, etc.
- Frontend: Next.js 15, React 18, TypeScript
- Styling: Tailwind CSS
- AI: Anthropic Claude API (Sonnet 4)
- Calendar: ical.js for ICS parsing and generation
- Backend: Next.js API Routes
- Node.js 18+ and npm
- Anthropic API key (get one at console.anthropic.com)
cd /path/to/cmuclaudehackathon2025
npm installCreate a .env.local file in the root directory:
ANTHROPIC_API_KEY=your_anthropic_api_key_herenpm run devOpen http://localhost:3000 in your browser.
npm run build
npm start- Export your class schedule from CMU SIO as an
.icsfile - Click the file upload button and select your
.icsfile - The app will parse and display your class schedule
- Click "Set Nutrition Goals"
- Configure:
- Meals Per Day: Number of meals you want (1-5)
- Favorite Dining Options: Comma-separated list (e.g., "Entropy+, Au Bon Pain, The Exchange")
- No-Go Dining Options: Places you want to avoid
- Default meal times:
- Breakfast: 8:00 AM - 10:00 AM
- Lunch: 12:00 PM - 2:00 PM
- Dinner: 6:00 PM - 8:00 PM
- Click "Set Fitness Goals"
- Configure:
- Workouts Per Week: Number of workouts (0-7)
- Activity Types: E.g., "lifting, cardio, yoga"
- Workout Split (optional): E.g., "Push/Pull/Legs"
- Target Muscles (optional): E.g., "chest, back, legs"
- CMU gym hours are pre-configured
- Click "Generate Plan with Claude"
- Claude AI will analyze your schedule and preferences
- A complete weekly plan with meals and workouts will be generated
- Review the schedule in the preview panel
- Click "Export as .ics File"
- Import the downloaded file into your calendar app
- Your meals and workouts are now in your calendar!
cmuclaudehackathon2025/
βββ app/
β βββ api/
β β βββ generate-plan/
β β βββ route.ts # Claude API integration
β βββ globals.css # Global styles
β βββ layout.tsx # Root layout
β βββ page.tsx # Main application page
βββ components/
β βββ FitnessModal.tsx # Fitness preferences modal
β βββ NutritionModal.tsx # Nutrition preferences modal
β βββ SchedulePreview.tsx # Weekly schedule display
βββ lib/
β βββ diningData.ts # CMU dining locations
β βββ types.ts # TypeScript type definitions
βββ utils/
β βββ icsGenerator.ts # ICS file generation
β βββ icsParser.ts # ICS file parsing
βββ .env.local # Environment variables (create this)
βββ package.json
βββ tailwind.config.ts
βββ tsconfig.json
{
id: string;
title: string;
location?: string;
start: string; // ISO timestamp
end: string; // ISO timestamp
}{
id: string;
type: "meal" | "workout";
title: string;
location?: string;
start: string; // ISO timestamp
end: string; // ISO timestamp
metadata?: Record<string, any>;
}The app includes 36 official CMU dining locations with accurate operating hours from CMU Eats:
- Stephanie's - Market C (24/7)
- Scotty's Market By Salem's
- Stack'd Underground
- Stack'd Dessert Bar
- The Grill At Scotty's
- Salem's Hot Bar
- Au Bon Pain At Skibo CafΓ©
- El Gallo De Oro
- Entropy+
- Revolution Noodle
- Millie's Coffee 'n' Creamery
- Rohr CafΓ© - La Prima
- De Fer Coffee & Tea
- Nourish
- Capital Grains
- The Exchange
- Schatz Dining Room
- Taste Of India
- Hunan Express
- The Edge Cafe & Market
- Sweet Plantain
- Fire And Stone
- Tahini
- Zebra Lounge
- La Prima Espresso (Wean Hall)
- Redhawk Coffee
- Ola Ola
- Ciao Bella
- Shake Smart
- Crisp And Crust
- Rohr Commons - Tepper Eatery
- Wild Blue Sushi
- Forbes Avenue Subs
- Tepper Taqueria
- Tepper Taqueria Express
- E.a.t. (Evenings At Tepper)
Each location includes actual operating hours for each day of the week, including weekend variations and special Shabbat hours.
The app uses Claude Sonnet 4 to:
- Analyze your class schedule and find free time windows
- Match meal times with dining location hours
- Schedule workouts based on gym availability
- Respect all user preferences (favorites, no-go locations, meal frequency)
- Balance the schedule across the week
- Ensure
ANTHROPIC_API_KEYis set in.env.local - Restart the dev server after adding the environment variable
- Ensure your
.icsfile is valid (exported from SIO or compatible tools) - Check that the file contains VEVENT components
rm -rf .next node_modules
npm install
npm run dev- Real-time CMU Eats API integration
- Custom meal time preferences
- Conflict detection and resolution
- Walking time calculations between locations
- Study session scheduling
- Group study/meal coordination
- Mobile app version
MIT License - Built for the CMU Claude Hackathon 2025
Built with β€οΈ for CMU students using:
- Claude AI by Anthropic
- Next.js
- Tailwind CSS
- ical.js