All Startup Ideas

AI Lesson Planner for Teachers

Generate standards-aligned lesson plans grounded in your state's actual standards text, then push them straight to Google Classroom in one click.

A seventh-grade science teacher finishes their last period at 3:10pm, spends an hour on hall duty and parent emails, and then sits down at 7pm to build next week's lessons. Five class periods, three differentiated reading levels each, a state standard code that has to appear on every plan document the department head reviews, and an exit ticket per lesson. That is Sunday gone. It is gone again the Sunday after that, and it is the single biggest reason experienced teachers quit a job they were good at.

Built for Solo Founders, Developers, Non-Technical.

The global AI-in-education market reached roughly $5.47B in 2024 and is projected at $7.57B in 2025, growing at a 34–38% CAGR through 2033 (The Business Research Company). That is one of the fastest compounding software segments tracked anywhere.

Suggested stack: Next.js 15 (App Router) on Vercel, Supabase (Postgres + pgvector + Auth), Claude Sonnet 4.6 with structured output, Google Classroom API + Canvas LTI 1.3, Google Slides API, Stripe Billing. Weekend scope: about 12 hours.

The Problem

A seventh-grade science teacher finishes their last period at 3:10pm, spends an hour on hall duty and parent emails, and then sits down at 7pm to build next week's lessons. Five…

The Solution

A lesson planner that treats standards alignment as the product, not a checkbox. The teacher picks their state, grade, and course once during onboarding; that choice loads the…

Market Research

The global AI-in-education market reached roughly $5.47B in 2024 and is projected at $7.57B in 2025, growing at a 34–38% CAGR through 2033 (The Business Research Company). That is…

Competitive Landscape

MagicSchool AI — The category's breakout, with dozens of teacher-facing generators and real district traction. Broad rather than deep: it does 60 things well, so no single one has…

Business Model

Free ($0) — 5 generated lessons per month, one state corpus, PDF export only. The lead magnet, and the thing that spreads inside a department.

Recommended Tech Stack

Next.js 15 (App Router) on Vercel — Server Actions for generation with streaming so the teacher watches the plan appear; route handlers for the Google Classroom and Canvas OAuth…

AI Prompts to Build This

Copy these build prompts into Claude, Cursor, or your AI coding tool. Create a free account to unlock the full research behind them.

  1. 1. Project Setup

    Build the weekend MVP of "LessonPilot": a lesson planner for K-12 teachers where every lesson cites a real standard that was retrieved before the lesson was written.
    
    Stack: Next.js (App Router), TypeScript, Tailwind, Supabase (Postgres with pgvector, Row Level Security, Auth with email magic link), Claude (Anthropic API) with structured output, and an embeddings API that returns 1536 dimensions. Deploy on Vercel.
    Scope: one jurisdiction's standards, loaded from a file you have.
    
    Tables (Row Level Security on: a teacher reads and writes only their own lessons, everyone reads standards):
    - teachers(id, user_id, jurisdiction, grade_band, subjects jsonb, style_profile jsonb)
    - standards(id, jurisdiction, subject, grade, code, full_text, embedding vector(1536))
    - lessons(id, teacher_id, title, topic, day_index, objective, warmup, main_activity, exit_ticket, differentiation jsonb, standard_ids, flagged)
    Turn on pgvector with an ivfflat index on standards.embedding.
    
    Screens: /plan (generator), /library (saved lessons), /settings (jurisdiction, grade, subjects).
    Env vars (names only): NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY (server only), ANTHROPIC_API_KEY, EMBEDDINGS_API_KEY.
    
    Do not build: billing, plans or department seats, Google Classroom or Canvas delivery, Google Slides export, learning from teacher edits, multiple jurisdictions.
    Done when: npm run dev starts, you can sign in, the standards file loads with embeddings, and the three tables exist with Row Level Security on.
  2. 2. Core Feature

    Build the one feature that proves LessonPilot: a lesson that cannot cite a standard it did not retrieve.
    1. Retrieve: embed the topic with the grade and subject. Query standards by cosine similarity filtered to the teacher's jurisdiction and grade, and take the top 8. Build a candidate block of { id, code, full_text }.
    2. Generate: call Claude with a strict JSON schema { days: [{ day_index, objective, warmup, main_activity, exit_ticket, differentiation: { below, at, above }, standard_ids: string[] }] }. System prompt: "You write standards-aligned lesson plans. You may ONLY reference standards from the CANDIDATE STANDARDS block. Use their id values in standard_ids. Never invent a standard code. If no candidate fits a day, return an empty standard_ids array and say so in the objective." Pass the candidate block and the teacher's style_profile. Stream the result.
    3. Verify: check that every id in every standard_ids array is in the retrieved set. If one is not, discard that day and regenerate it once. If it fails twice, return the day with flagged set to true rather than a made-up code.
    4. Render each lesson with the standard code and its verbatim full_text in a collapsible block, so a department head can check alignment without leaving the page.
    Empty state: with no jurisdiction set, send the teacher to /settings.
    Done when: a 5-day topic returns five days that each cite retrieved standards with verbatim text, and a forced bad id is caught and the day is regenerated or flagged.
  3. 3. Landing Page

    Build a one-page landing site for LessonPilot, aimed at middle and high school teachers.
    Hero: "Lesson plans that cite the actual standard." Sub: "Pick your state once. Every plan comes back grounded in your real standards document, quoted and not invented." One button: Generate your first week free, which joins the waitlist.
    Sections: the Sunday problem (a short, specific scene of planning five preps at 7pm, no smiling-classroom stock photos), a side-by-side of a generic AI lesson with a made-up standard code (marked with a red flag) and a LessonPilot lesson with the verbatim state text expanded beneath it, how it works in four steps, the supported jurisdictions (TEKS, B.E.S.T., SOL, Common Core) with a request-your-state form, and an FAQ on student data privacy, FERPA and what happens when a standard is missing.
    Waitlist: store the email in a waitlist table in Supabase. No other service.
    Voice: respectful of teacher expertise, never implies AI replaces judgment. Type: Geist. Palette: warm off-white, deep ink and one green accent.
    Done when: the page renders on a phone and a submitted email appears in the waitlist table.
  4. 4. Branding Package

    Use a design or image tool for this one. A coding agent cannot draw a logo.
    Brand for LessonPilot: a wordmark and an icon that suggest a margin note beside a page.
    Colors: warm off-white, deep ink text and one green accent. Type: Geist for the interface and a serif for quoted standards.
    Deliverables: wordmark, icon, a standard-citation block style, and one launch graphic.
    Done when: each deliverable is saved in one folder and the citation block is readable at 14 px.