An AI-powered tool for generating comprehensive educational lesson plans using Anthropic's Claude API. This open-source project helps educators create structured, engaging lesson plans quickly and efficiently.
Try it now: Live Demo
Note: The live demo uses shared API keys and may have rate limits. For unlimited usage, deploy your own instance with your own API key.
- π€ AI-Powered Generation: Generate detailed lesson plans using advanced AI
- π Comprehensive Content: Create structured lessons with objectives, activities, and assessments
- π― Customizable: Tailor lessons to specific topics, grade levels, and learning objectives
- π¦ Optional Archive System: Store and moderate generated lesson plans
- π Easy Deployment: Deploy to Vercel, Netlify, or other serverless platforms
π Start here: GETTING_STARTED.md - Step-by-step guide for beginners
-
Clone the repository
git clone https://github.com/Cartooli/ai-lesson-plan-generator.git cd ai-lesson-plan-generator -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env
Edit
.envand add your Anthropic API key:ANTHROPIC_API_KEY=sk-ant-api03-YOUR_KEY_HERE
-
Run locally
npm run dev
- Node.js (v18 or higher) - Download here
- npm or yarn (comes with Node.js)
- Anthropic API key - Get one here
For detailed setup instructions, see SETUP.md.
ANTHROPIC_API_KEY- Your Anthropic API key (required)- Get your key from https://console.anthropic.com/
- Required for lesson generation functionality
ENABLE_ARCHIVE- Enable lesson archiving system (default:false)ADMIN_PASSWORD- Admin password for moderation panel (required ifENABLE_ARCHIVE=true)NODE_ENV- Environment mode:developmentorproduction(default:production)
See .env.example for a complete template with descriptions.
-
Install Vercel CLI (optional):
npm i -g vercel
-
Deploy:
vercel
-
Set environment variables in Vercel dashboard:
- Go to Settings β Environment Variables
- Add all variables from your
.envfile
-
Redeploy after adding environment variables
- Netlify: Connect GitHub repo, set build settings, add environment variables
- Railway: Connect GitHub repo, add environment variables, deploy
- Other serverless platforms: Follow platform-specific deployment guides
See SETUP.md for detailed deployment instructions.
- GETTING_STARTED.md - β Start here! Step-by-step guide for non-developers
- FAQ.md - Frequently asked questions
- TROUBLESHOOTING.md - Common issues and solutions
- SETUP.md - Detailed setup and installation guide
- VERCEL_SETUP.md - β‘ Quick Vercel deployment guide
- DEPLOYMENT_GUIDE.md - Deploy to Vercel, Netlify, etc.
- ARCHITECTURE.md - System architecture documentation
- CONTRIBUTING.md - Guidelines for contributing
- SECURITY.md - Security policy and best practices
Generate comprehensive lesson plans by providing:
- Topic or subject
- Grade level
- Learning objectives
- Duration
The AI creates structured lesson plans with:
- Learning objectives
- Materials needed
- Step-by-step activities
- Assessment methods
- Extension activities
When enabled, the archive system allows you to:
- Store generated lesson plans
- Moderate content through admin panel
- Organize lessons by topic or date
Security Note: Use a strong password for the admin panel if enabling this feature.
ai-lesson-generator/
βββ .github/ # GitHub workflows and templates
βββ api/ # Serverless API functions
βββ js/ # Frontend JavaScript
βββ blog/ # Blog content
βββ lessons-archive/ # Generated content (gitignored)
βββ *.html # Frontend pages
βββ [config files] # Configuration files
# Install dependencies
npm install
# Set up environment
cp .env.example .env
# Edit .env with your API key
# Run development server
npm run dev- Test lesson generation with valid API key
- Verify error handling with missing/invalid keys
- Test archive system (if enabled)
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
- 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
- Never commit
.envfiles - They contain sensitive API keys - Use strong passwords - Especially for admin panels
- Rotate API keys regularly - If compromised
- Monitor API usage - Check for unexpected activity
See SECURITY.md for our security policy and best practices.
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Anthropic Claude API
- Deployed on serverless platforms (Vercel, Netlify, etc.)
- π Check the documentation
- π Report bugs
- π¬ Ask questions
- π Security issues - Please report privately
- Enhanced lesson plan templates
- Multi-language support
- Export to PDF/DOCX
- Integration with LMS platforms
- User authentication system
- Lesson plan sharing
Made with β€οΈ for educators worldwide