# mitalixrana/ai-course-curriculum-designer architecture

> Architecture diagram of the GitHub repository mitalixrana/ai-course-curriculum-designer, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/mitalixrana/ai-course-curriculum-designer
- Repository: https://github.com/mitalixrana/ai-course-curriculum-designer

## Overview

This repository documents a course-curriculum generator: a user enters a topic in Gradio, a sequential CrewAI workflow creates curriculum content, and the system presents the results and exports a PDF. The documented stages are planning, lesson slicing, resource recommendations, and quiz generation. All repository components map to the notebook because the tree contains no separate source modules. The workflow follows the README; notebook implementation details and exact agent-to-model calls could not be verified.

Main entry points: [`course cirriculam llm (1).ipynb`](https://github.com/mitalixrana/ai-course-curriculum-designer/blob/main/course%20cirriculam%20llm%20(1).ipynb) (Gradio Interface)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["User Interface"]
  node_gradio["Gradio Interface"]
end

subgraph group_workflow["Generation Workflow"]
  node_crew["Sequential CrewAI"]
  node_planner["Curriculum Planner"]
  node_slicer["Lesson Slicer"]
  node_resources["Resource Hunter"]
  node_quiz["Quiz Master"]
end

subgraph group_outputs["Output Generation"]
  node_pdf["PDF Export"]
  node_results["Course Materials"]
end

node_user(("Course Designer"))
node_ollama["Ollama LLM"]

node_user -->|"enters topic"| node_gradio
node_gradio -->|"submits topic"| node_crew
node_crew -->|"dispatches"| node_planner
node_planner -->|"passes curriculum"| node_slicer
node_slicer -->|"passes lessons"| node_resources
node_resources -->|"passes resources"| node_quiz
node_crew -->|"uses local model"| node_ollama
node_quiz -->|"exports outputs"| node_pdf
node_pdf -->|"returns report"| node_gradio
node_gradio -->|"presents tasks"| node_results

click node_gradio "https://github.com/mitalixrana/ai-course-curriculum-designer/blob/main/course%20cirriculam%20llm%20(1).ipynb"
click node_crew "https://github.com/mitalixrana/ai-course-curriculum-designer/blob/main/course%20cirriculam%20llm%20(1).ipynb"
click node_planner "https://github.com/mitalixrana/ai-course-curriculum-designer/blob/main/course%20cirriculam%20llm%20(1).ipynb"
click node_slicer "https://github.com/mitalixrana/ai-course-curriculum-designer/blob/main/course%20cirriculam%20llm%20(1).ipynb"
click node_resources "https://github.com/mitalixrana/ai-course-curriculum-designer/blob/main/course%20cirriculam%20llm%20(1).ipynb"
click node_quiz "https://github.com/mitalixrana/ai-course-curriculum-designer/blob/main/course%20cirriculam%20llm%20(1).ipynb"
click node_pdf "https://github.com/mitalixrana/ai-course-curriculum-designer/blob/main/course%20cirriculam%20llm%20(1).ipynb"
click node_results "https://github.com/mitalixrana/ai-course-curriculum-designer/blob/main/course%20cirriculam%20llm%20(1).ipynb"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_gradio toneBlue
class node_crew,node_planner,node_slicer,node_resources,node_quiz toneAmber
class node_pdf,node_results toneMint
class node_user,node_ollama toneIndigo
```

## Components

### User Interface

- [Gradio Interface](https://github.com/mitalixrana/ai-course-curriculum-designer/blob/main/course%20cirriculam%20llm%20(1).ipynb): `course cirriculam llm (1).ipynb`

### Generation Workflow

- [Sequential CrewAI](https://github.com/mitalixrana/ai-course-curriculum-designer/blob/main/course%20cirriculam%20llm%20(1).ipynb): `course cirriculam llm (1).ipynb`
- [Curriculum Planner](https://github.com/mitalixrana/ai-course-curriculum-designer/blob/main/course%20cirriculam%20llm%20(1).ipynb): `course cirriculam llm (1).ipynb`
- [Lesson Slicer](https://github.com/mitalixrana/ai-course-curriculum-designer/blob/main/course%20cirriculam%20llm%20(1).ipynb): `course cirriculam llm (1).ipynb`
- [Resource Hunter](https://github.com/mitalixrana/ai-course-curriculum-designer/blob/main/course%20cirriculam%20llm%20(1).ipynb): `course cirriculam llm (1).ipynb`
- [Quiz Master](https://github.com/mitalixrana/ai-course-curriculum-designer/blob/main/course%20cirriculam%20llm%20(1).ipynb): `course cirriculam llm (1).ipynb`

### Output Generation

- [PDF Export](https://github.com/mitalixrana/ai-course-curriculum-designer/blob/main/course%20cirriculam%20llm%20(1).ipynb): `course cirriculam llm (1).ipynb`
- [Course Materials](https://github.com/mitalixrana/ai-course-curriculum-designer/blob/main/course%20cirriculam%20llm%20(1).ipynb): `course cirriculam llm (1).ipynb`

### Other components

- **Course Designer**
- **Ollama LLM**

## Connections

- Course Designer → Gradio Interface: enters topic
- Gradio Interface → Sequential CrewAI: submits topic
- Sequential CrewAI → Curriculum Planner: dispatches
- Curriculum Planner → Lesson Slicer: passes curriculum
- Lesson Slicer → Resource Hunter: passes lessons
- Resource Hunter → Quiz Master: passes resources
- Sequential CrewAI → Ollama LLM: uses local model
- Quiz Master → PDF Export: exports outputs
- PDF Export → Gradio Interface: returns report
- Gradio Interface → Course Materials: presents tasks
