Curriculum Modules

Upload your national curriculum so the tutor grounds all instruction in your standards.

How It Works

Curriculum modules are structured content packages that tell the tutor what to teach and how. When a student starts a session with a curriculum_module parameter, the tutor loads that module and uses its concepts, problems, misconceptions, and worked examples to guide instruction — grounded in your official syllabus.

Upload Methods

MethodEndpointDescription
JSON uploadPOST /modulesStructured JSON following the module schema
PDF ingestionPOST /modules/ingestUpload curriculum PDFs — our system extracts and structures content automatically
Bulk uploadPOST /modules/bulkZIP archive containing multiple module JSON files
JSON modules are available within 15 minutes. PDF ingestion may take up to 2 hours depending on document size.

Module Schema

Example: Algerian BAC Mathematics
{
  "id": "algerian-bac-math-2026",
  "subject": "math",
  "level": "11-12",
  "version": "1.0",
  "locale": "ar-DZ",

  "concepts": [
    {
      "id": "complex-numbers",
      "title": "Complex Numbers",
      "title_localized": "الأعداد المركبة",
      "explanation": "A complex number z = a + bi where a is the real part and b is the imaginary part...",
      "misconceptions": [
        {
          "description": "Students confuse i^2 = -1 with i = -1",
          "detection_pattern": "i equals negative one",
          "correction_strategy": "Clarify that i is the square root of -1, so i^2 = -1, but i itself is not -1."
        }
      ]
    }
  ],

  "problems": [
    {
      "id": "complex-add-1",
      "concept_id": "complex-numbers",
      "statement": "Calculate (3 + 2i) + (1 - 4i)",
      "hints": ["Add real parts together, then imaginary parts together"],
      "solution": "4 - 2i",
      "difficulty": "easy"
    }
  ],

  "worked_examples": [
    {
      "id": "complex-multiply-example",
      "concept_id": "complex-numbers",
      "title": "Multiplying complex numbers",
      "steps": [
        { "description": "Apply distributive property (FOIL)", "expression": "(2+3i)(1-i) = 2(1) + 2(-i) + 3i(1) + 3i(-i)" },
        { "description": "Simplify each term", "expression": "= 2 - 2i + 3i - 3i^2" },
        { "description": "Replace i^2 with -1", "expression": "= 2 + i - 3(-1) = 5 + i" }
      ]
    }
  ],

  "system_prompt_additions": "You are tutoring for the Algerian BAC exam. Use formal Arabic mathematical terminology on the whiteboard. When the student speaks in Darja, respond verbally in Darja but write all notation in standard form."
}

Schema Fields

FieldTypeDescription
idstringUnique module identifier
subjectstringSubject code (math, science, etc.)
levelstringGrade level
versionstringModule version for tracking updates
localestringBCP 47 locale code
conceptsarrayConcepts with explanations and misconceptions
problemsarrayPractice problems with hints and solutions
worked_examplesarrayStep-by-step worked solutions
system_prompt_additionsstringExtra instructions for the AI tutor (language preferences, exam-specific behavior)

Supported Curricula

The module system supports any national or regional curriculum. Examples of curricula currently in use or validated:

AlgeriaBAC (Baccalauréat)
BrazilENEM, Vestibular
EgyptThanaweya Amma
FranceBaccalauréat Général, BTS
GermanyAbitur
Gulf States (UAE, KSA, Qatar)National MOE curricula, EmSAT
IndiaCBSE, ICSE, JEE, NEET
MoroccoBaccalauréat Marocain
NigeriaWAEC, NECO, JAMB
PakistanFSc, MDCAT, ECAT
South KoreaCSAT (Suneung)
Southeast AsiaSPM (Malaysia), O/A Levels (Singapore)
TurkeyYKS (TYT/AYT)
United KingdomGCSE, A-Levels, Scottish Highers
United StatesCommon Core, AP, SAT/ACT

*Sandbox limits

Sandbox environments allow up to 5 module uploads. Production has no limit.