Skip to content
AI-Native Lesson Planning Workflow2024–Present

Sagini

AI Product Engineer (Solo, 3 months)

An AI-native workflow for generating structured lesson plans from teacher inputs using prompt design and guided outputs.

Next.jsOpenAIPineconeTailwind CSS
Sagini screenshot
Problem

Teachers need faster ways to create structured, classroom-ready lesson plans without vague AI outputs.

Solution

Sagini uses guided inputs, prompt structure, and output templates to produce clearer lesson planning workflows.

Workflow
Teacher Input
Guided Prompt
Structured Output
Review
Lesson Plan
Key Features
Guided inputsStructured lesson plan outputsPrompt designAI-assisted workflowEducation-focused content generation
Workflow Architecture
Teacher InputGuided form
Prompt EngineTemplate + context
LLM APIStructured output
Lesson PlanCBC-aligned
Prompt Engineering & Structured Output

The biggest issue with LLM wrappers is unpredictable output. Sagini solves this by using highly constrained System Prompts and enforcing strict JSON schema parsing on the response. The application will not render the lesson plan unless the AI strictly conforms to the requested CBC curriculum format.

// Enforcing rigid structure on the LLM
const lessonPrompt = {
  system: "You are an elite CBC curriculum specialist. You must return your analysis wrapped in this exact JSON schema. Do not output markdown, pleasantries, or explanations.",
  schema: {
    subject: "string",
    grade: "number",
    strand: "string",
    learningOutcomes: "string[]",
    activities: "{ title, duration, methodology }[]",
    assessment: "string"
  }
};

// Usage in the edge function
const response = await openai.chat.completions.create({
  model: 'gpt-4-turbo',
  response_format: { type: 'json_object' },
  messages: [...]
});
Outcome

Generated 100+ CBC-aligned lesson plans during private alpha, significantly reducing teacher prep time.

Project Overview
Category

AI-Native Lesson Planning Workflow

Role

AI Product Engineer (Solo, 3 months)

Year

2024–Present

Stack
Next.jsOpenAIPineconeTailwind CSS