A modern web application that automatically converts course syllabi into organized calendar tasks using AI-powered parsing. Upload your syllabus and instantly get assignments, readings, and exams organized in both calendar and list views, with optional Google Calendar synchronization.
- AI-Powered Extraction: Uses Google Gemini 2.0 Flash to intelligently extract tasks from both text and PDF files
- Multi-Format Support: Full AI integration for both text (.txt) and PDF (.pdf) files
- Smart Date Detection: Automatically identifies semester/term (Fall, Spring, Summer) and assigns correct years and months
- Intelligent Classification: Automatically categorizes assignments, readings, exams, and other tasks
- Dual Views: Switch between calendar and list views
- Google Calendar Sync: Optional integration with Google Calendar
- Responsive Design: Works seamlessly on desktop and mobile devices
- Modern UI: Clean, educational-focused design with accessibility features
- Frontend: Next.js 15, React 19, TypeScript
- Backend: Node.js runtime with Next.js API routes
- AI Integration: Google Gemini 2.0 Flash API for syllabus parsing
- Styling: Tailwind CSS v4, shadcn/ui components
- Calendar Integration: Google Calendar API (simulated)
- Node.js 18+
- npm or yarn package manager
- Google Gemini API key (free from Google AI Studio)
git clone <repository-url>
cd Syllabus-to-Calendar-Appnpm install
# or
yarn installCreate a .env.local file in the root directory:
GOOGLE_API_KEY=your_google_api_key_herenpm run dev
# or
yarn devNavigate to http://localhost:3000
npm run build
npm start- β Full AI Integration: Uses Google Gemini for intelligent parsing and task extraction
- β Real Data: Actual syllabus content is processed and converted to calendar tasks
- β Smart Classification: AI categorizes and extracts meaningful information
- β Full AI Integration: Direct PDF-to-AI processing using Gemini's native PDF support
- β Real Data: Extracts actual text and dates from PDF syllabi
- β Semester-Aware: Automatically detects academic term (Fall/Spring/Summer) and assigns correct dates
-
Upload Syllabus
- Drag and drop or click to upload text or PDF files
- Supports both formats with full AI processing
-
AI Processing
- Text files: Direct text extraction and AI analysis
- PDF files: Native PDF reading with AI-powered event extraction
-
View Tasks
- Switch between calendar view and list view to see your schedule
- Events are automatically categorized and dated correctly
-
Sync Calendar
- Optionally connect to Google Calendar for cross-device synchronization
The application uses Google Gemini 2.0 Flash for intelligent syllabus parsing:
- Multi-Format Support: Processes both text and PDF files natively
- Semester Detection: Identifies academic term (Fall 2024, Spring 2025, etc.) from document headers
- Smart Date Mapping:
- Fall semester: August to December
- Spring semester: January to May
- Summer semester: June to August
- Context-Aware Extraction: Understands syllabus structure and extracts relevant dates
- Intelligent Classification: Categorizes events as assignments, exams, readings, or other activities
- File Upload: Multi-format support with drag-and-drop interface
- Processing:
- Text Files: Direct text extraction and AI analysis
- PDF Files: Base64 encoding and direct PDF processing via Gemini API
- AI Analysis:
- Step 1: Identify semester and year from document
- Step 2: Determine appropriate date range for the semester
- Step 3: Extract events with contextually accurate dates
- Step 4: Format output as structured JSON
- Data Transformation: Convert AI response to application task format with timezone correction
- Error Handling: Graceful fallbacks and user-friendly error messages
AI-powered categorization identifies:
- Assignments: homework, projects, papers, essays, reports
- Readings: textbook chapters, articles, research papers
- Exams: tests, quizzes, midterms, finals, assessments
- Other: miscellaneous course activities and deadlines
- Progressive Enhancement: Works without JavaScript for basic functionality
- Responsive Design: Mobile-first approach with desktop enhancements
- Accessibility: ARIA labels, keyboard navigation, screen reader support
- Real-time Feedback: Progress indicators during AI processing
- Accurate Dates: Timezone-aware date handling ensures correct display
The application requires the following environment variable:
| Variable | Description |
|---|---|
GOOGLE_API_KEY |
Your Google Gemini API key |
Add this to your .env.local file or configure it in your deployment platform (Vercel, etc.).
- PDF Text Extraction: Add fallback PDF parsing for scanned documents
- Multiple AI Models: Support for different LLMs (Claude, OpenAI, etc.)
- Batch Processing: Handle multiple syllabi simultaneously
- Custom Prompts: Allow users to customize AI parsing instructions
- Multiple Calendar Support: Add support for Outlook, Apple Calendar
- Collaboration Features: Share schedules with classmates
- Mobile App: React Native version for mobile devices
- Notification System: Reminders for upcoming deadlines
- Task Management: Edit, delete, and mark tasks as complete
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
This project was created for evaluation based on the following criteria:
- Creativity: AI-powered syllabus parsing with semester-aware date detection and intelligent task categorization
- Code Quality: Clean TypeScript implementation with proper error handling, timezone management, and comprehensive documentation
- Usability and Design: Responsive, accessible interface with dual calendar/list views and real-time AI processing
- Impact: Streamlines academic workflow by automating syllabus organization with accurate date extraction
- Native PDF Processing: Direct PDF-to-AI pipeline using Gemini's native PDF support, eliminating need for intermediate parsing
- Semester-Aware Dating: Automatically detects academic term and assigns dates within appropriate timeframe
- Context Understanding: AI reads document structure to extract accurate years, months, and event details
- Smart Classification: Automatically categorizes assignments, readings, and exams with context awareness
- Dual Interface: Provides both visual calendar and filterable list views
- Progressive Enhancement: Graceful fallbacks and comprehensive error handling
Made with β€οΈ for students everywhere