Transform your course syllabus into a personalized, AI-powered study schedule complete with YouTube video resources and interactive quizzes!
๐ CalHacks 2025 Project
๐ฅ Team: Sahil Dadhwal, Vicky Kang, Mai Westfall
๐ Live Site: calhacks2025-learnitai.up.railway.app
๐ Live Demo Video: YouTube Demo
33% of first-generation students drop out (Source: NCES)
While colleges offer financial aid, daycare, and counseling, students still struggle to manage their coursework effectively. LearnIt AI bridges this gap by providing personalized, AI-powered study schedules that adapt to individual learning needs.
- PDF Upload Support - Direct syllabus PDF upload with text extraction
- Text Input - Paste syllabus content directly
- File Support - PDF, TXT, and Markdown files
- Intelligent Scheduling - Weekly and daily study plans using Groq's Llama 3.3 70B
- Realistic Time Estimates - 2-3 hour daily sessions
- Progressive Difficulty - Gradual complexity increase
- Review Days - Strategic review sessions before major topics
- YouTube Integration - Curated video search links for each topic
- Specific Search Terms - Targeted educational content
- Direct Links - One-click access to video tutorials
- Auto-Generated Questions - Multiple choice quizzes for each major topic
- Instant Feedback - Immediate answer validation
- Detailed Explanations - Learn why answers are correct/incorrect
- Visual Progress Bar - See your completion percentage
- Persistent Storage - Saves locally in your browser
- Task Completion - Mark days as complete
- Statistics Dashboard - Track weeks, hours, videos, and quizzes
- Calendar Export - iCalendar (.ics) format for Google Calendar, Outlook, etc.
- Print Schedule - Printer-friendly format
- Share Functionality - Share your study plan with friends
- Responsive Design - Works on desktop, tablet, and mobile
- Intuitive Interface - Clean, easy-to-navigate UI
- Smooth Animations - Professional transitions and effects
- Dark/Light Accents - Modern gradient design
- Python 3.8+
- pip (Python package manager)
- Groq API Key (FREE - see setup below)
- Clone the repository
git clone https://github.com/sahildadhwal/CalHacks2025.git
cd CalHacks2025- Install dependencies
pip install -r requirements.txt- Set up environment variables
Create a .env file in the root directory:
GROQ_API_KEY=your_groq_api_key_here- Run the application
python app.py- Open in browser
http://localhost:5001
LearnIt AI uses Groq's lightning-fast AI inference API (powered by Llama 3.3 70B). Here's how to get your free API key:
- Go to console.groq.com
- Click "Sign Up" or "Get Started"
- Create a free account (no credit card required!)
- After signing in, navigate to console.groq.com/keys
- Click "Create API Key"
- Give it a name (e.g., "LearnIt AI")
- Copy the generated key (it will look like
gsk_...)
Option A: Environment Variable (Recommended)
# Create .env file
echo "GROQ_API_KEY=your_key_here" > .envOption B: Web Interface
- Start the app without an API key
- Click "Change Key" in the API Status section
- Paste your key and click "Save"
- The key will be stored in your browser's local storage
- โก Fastest inference - Up to 10x faster than alternatives
- ๐ Generous free tier - No credit card required
- ๐ง Powerful models - Llama 3.3 70B Versatile
- ๐ฏ JSON mode - Perfect for structured output
- ๐ Great API - Simple, well-documented
Option A: Upload File
- Drag and drop your syllabus PDF
- Or click to browse and select a file
- Supports PDF, TXT, and Markdown files
Option B: Paste Text
- Copy your syllabus content
- Paste directly into the text area
Course Duration
- Select from 4 to 16 weeks
- Default: 10 weeks
Start Date
- Choose when you want to begin
- Default: Today
- Click "Generate Study Plan"
- Wait 10-20 seconds for AI processing
- View your personalized schedule!
Weekly View
- Click week headers to expand/collapse
- See overview for each week
Daily Breakdown
- View daily topics and objectives
- See estimated study hours
- Access YouTube video resources
- Take interactive quizzes
- Mark days as complete
Track Progress
- Visual progress bar shows completion
- Progress saved automatically
- Export to calendar apps
- Print or share your schedule
โโโโโโโโโโโโโโโ
โ User Starts โ
โโโโโโโโฌโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ Upload Syllabus โ โ Set Preferences โ
โ - PDF/TXT โโโโโโโถโ - Duration โ
โ - Paste Text โ โ - Start Date โ
โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโฌโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโ
โ Click Generateโ
โโโโโโโโโฌโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโ
โ AI Processing โ
โ Groq Llama 3.3 70B โ
โโโโโโโโโโโโฌโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Create Study Schedule โ
โ - Weekly Topics โ
โ - Daily Objectives โ
โ - Study Hours โ
โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Add Resources โ
โ - YouTube Videos โ
โ - Quiz Questions โ
โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Display Interactive Schedule โ
โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ User Features โ
โ - Take Quizzes โ
โ - Watch Videos โ
โ - Track Progress โ
โ - Export Calendar โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- Flask - Python web framework
- Groq API - AI inference (Llama 3.3 70B)
- PyPDF2 - PDF text extraction
- python-dotenv - Environment variable management
- Gunicorn - Production WSGI server
- Vanilla JavaScript - No framework bloat
- HTML5 - Semantic markup
- CSS3 - Modern styling with gradients
- Font Awesome - Icons
- Railway - Hosting platform
- Nixpacks - Build system
- Docker - Containerization support
- Groq API - Fast LLM inference
- YouTube Search - Video resource integration
- iCalendar - Calendar export format
The app is deployed at: calhacks2025-learnitai.up.railway.app
-
Fork this repository
-
Create Railway account
- Go to railway.app
- Sign up for free
-
Create new project
- Click "New Project"
- Select "Deploy from GitHub repo"
- Choose your forked repository
-
Add environment variables
- Go to project settings
- Add variable:
GROQ_API_KEY=your_key_here
-
Deploy!
- Railway will automatically build and deploy
- Your app will be live at
your-app.up.railway.app
- Go to Settings โ Domains
- Add your custom domain
- Update DNS records as shown
CalHacks2025/
โโโ app.py # Flask backend API
โโโ requirements.txt # Python dependencies
โโโ Dockerfile # Docker configuration
โโโ railway.json # Railway deployment config
โโโ nixpacks.toml # Nixpacks build config
โโโ Procfile # Process configuration
โโโ .env.example # Environment template
โโโ static/
โ โโโ app.js # Frontend JavaScript logic
โ โโโ styles.css # Responsive styling
โโโ templates/
โโโ index.html # Main HTML template
- First-Generation Students - Structured learning path
- Self-Learners - Organize independent study
- Online Courses - Break down MOOC syllabi
- Exam Prep - Systematic review schedules
- Course Planning - Visualize syllabus pacing
- Student Sharing - Distribute study guides
- Tutoring - Create structured learning plans
- ๐ค Collaborative Study Groups - Study with classmates
- ๐ฌ AI Tutoring Chatbot - Get help on specific topics
- ๐ฎ Study Streak Gamification - Maintain daily streaks
- โ๏ธ Custom Intensity Levels - Light, moderate, intense study
- ๐๏ธ Flashcard Generation - Auto-create flashcards
- ๐ฑ Mobile App - Native iOS/Android apps
- ๐ LMS Integration - Canvas, Blackboard, Moodle
- ๐ง Email Reminders - Daily study notifications
- ๐จ Theme Customization - Personalize your interface
Problem: PDF content not extracting properly
Solutions:
- Ensure PDF contains selectable text (not scanned images)
- Try copy-pasting text manually into the text area
- Use a PDF with actual text layers
Problem: "API Error: 401" or "No API key"
Solutions:
- Verify your Groq API key is correct
- Check that key is in
.envfile or added via web interface - Ensure no extra spaces in the key
- Try generating a new API key
Problem: Loading spinner runs forever
Solutions:
- Provide detailed syllabus content (more than just topic names)
- Check browser console for errors (F12)
- Try a shorter duration first (4-8 weeks)
- Verify internet connection
- Check API quota hasn't been exceeded
Problem: Features not working
Solutions:
- Use a modern browser (Chrome, Firefox, Safari, Edge)
- Enable JavaScript
- Clear browser cache
- Try incognito/private mode
Problem: Completion marks disappear
Solutions:
- Enable browser local storage
- Don't use private/incognito mode
- Check browser storage settings
Contributions are welcome! Here's how you can help:
- Use GitHub Issues
- Provide detailed description
- Include screenshots if applicable
- Share browser console errors
- Open a GitHub Issue
- Describe the feature
- Explain the use case
- Discuss implementation ideas
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Perfect for CalHacks 2025 because:
- โ Solves Real Problem - Addresses 33% dropout rate
- โ Cutting-Edge AI - Uses Groq's fastest inference
- โ Beautiful UI - Modern, responsive design
- โ Practical & Useful - Students can use immediately
- โ Easy to Demo - Quick setup and clear value prop
- โ Scalable Concept - Can grow into full platform
- โ Social Impact - Helps underserved students succeed
Project Repository: github.com/sahildadhwal/CalHacks2025
Live Site: calhacks2025-learnitai.up.railway.app
Built for: CalHacks 2025
- Groq - For providing fast, free AI inference
- Cal Hacks - For organizing an amazing hackathon
- YouTube - For educational content integration
- Open Source Community - For amazing tools and libraries
- Lines of Code: ~2,500+
- Development Time: 36 hours (hackathon)
- Technologies Used: 10+
- Coffee Consumed: โ
- Students Helped: Growing!
โญ Star this repo if you find it helpful!
๐ Good luck with your studies, and happy learning!