The CA State Common Core Lesson Planner is a state-of-the-art curriculum design assistant for teachers. It streamlines the creation of California standards-aligned, Project-Based Learning (PBL) lesson plans that weave together academic standards, vocational trades, student choice, and detailed teacher resources.
This application is built to help educators design comprehensive, classroom-ready project assignments centered around a core topic or concept.
- Student Agency & Choice: Generated projects give students 2–3 final product options/modalities (e.g., essays, presentations, videos, or podcasts) to choose from. Each modality contains its own set of distinct requirements and deliverables, but all align back to the core lesson standards.
- Complete Instructor Guide: Generates teacher-facing details including measurable learning objectives, milestone activities, vocabulary glossaries, scaffolding recommendations (for English learners, special needs, etc.), and standard-aligned rubrics.
- Flexible Timelines: Integrates a handy duration estimator accommodating multi-week project structures with modular milestone steps (Launch, Inquiry, Drafting, Revision, Presentation).
- Vocational Customization: Optionally tailors academic concepts to specific vocational trades (e.g., HVAC, Carpentry, Nursing, Security) to provide immediate real-world relevance for CTE or Job Corps curricula.
Configure your own API keys for the major generative AI providers. The application supports:
- Google Gemini (e.g.,
gemini-2.5-flash,gemini-2.5-pro,gemini-1.5-flash) - OpenAI (e.g.,
gpt-4o-mini,gpt-4o,o1-mini,o3-mini) - Anthropic Claude (e.g.,
claude-3-5-haiku-latest,claude-3-5-sonnet-latest) - Custom Base URLs/Proxies: Supports forwarding requests through CORS proxies or aggregators (e.g., OpenRouter) and local model servers.
Generate lessons tailored to all California Department of Education (CDE) required subject areas:
- Grade Levels: Individualized options from Preschool / Transitional Kindergarten (TK), Kindergarten, 1st through 12th Grade, and Adult Education.
- Required Subjects: Covers English Language Arts, Mathematics, History-Social Science, Science, Visual and Performing Arts, World Languages, Career Technical Education (CTE), Physical Education, and Health Education.
To optimize token usage and avoid redundant API requests, standard suggestions are cached locally:
- 90-Day Lifespan: Cached standards expire automatically 90 days after generation.
- Seasonal Expiration Bounds: All cached standards automatically expire on January 1st and June 15th to align with school terms and standard updates, saving token counts and compute cycles.
- Session Autoresume: Automatically saves active generation progress so refreshing or closing the browser will never lose your inputs or results.
- Local Projects Library: Save completed lesson plans persistently. A dashboard list on the home screen allows loading plans straight to print/view screens instantly, or deleting them when no longer needed.
Export plans as PDFs or print them. Print layouts automatically hide interactive buttons and settings banners, applying clean black margins, proper page-breaks, and rendering a print-only application header.
Here is a step-by-step walkthrough of the planner's interface:
Choose your grade level (Pre-K/TK to Adult Ed), required subject area, optional Career Technical Education (CTE) vocational trade focus, and enter your lesson topic.

Input specific concepts to contextualize the learning objectives and standard alignments.

View AI-suggested CCSS and California State Standards tailored to your topic and grade, and select the specific standards to assess.

Generates student product modalities, driving questions, weekly timelines, collaboration structures, formative/summative rubrics, scaffolding support, and downloadable handouts.

Store completed plans in your browser's local library to view, reload, print, or delete them later.

- Node.js (v18 or higher recommended)
Navigate to the directory and install required npm packages:
npm installCopy .env.example to .env.local to configure development parameters. The app will pre-populate the Gemini key if GEMINI_API_KEY is set in your environment:
cp .env.example .env.localStart the local development server:
npm run devOpen http://localhost:3000 in your web browser.
- Vite & React (TypeScript)
- Tailwind CSS (v4 integration)
- Framer Motion (Page transitions & modals)
- React Markdown & remark-gfm (Clean formatting for lesson briefs & rubrics)