Explainify – Type any topic, get a narrated educational animation in minutes. Built for neurodivergent learners who absorb information better through visuals and audio.
A real video Explainify produced for the topic "How do machines learn to recognize MNIST dataset numbers?" — storyboard → Manim animation → narration → final MP4.
Most educational content is text‑heavy and static.
For neurodivergent learners (ADHD, dyslexia, autism), this creates friction:
- Too much text → cognitive overload
- Abstract concepts → hard to visualize
- One‑size‑fits‑all explanations → don't always click
Explainify changes that.
- Type any topic – e.g., "How does a solar cell work?"
- AI generates a storyboard – breaks the topic into scenes with narration.
- Manim animations – each scene becomes a professional animated visual.
- Natural voiceover – synced with the animation (audio duration is passed back into the animation prompt so visuals match the narration).
- Comprehension check (roadmap) – after watching, the AI asks one micro‑question to verify understanding.
- Re‑frame loop (roadmap) – on a wrong answer, Explainify picks a new representation strategy (causal diagram, concrete analogy, step‑by‑step) and regenerates the video.
This adaptive loop is our unique differentiator – it discovers how the learner understands and changes the representation until it clicks.
| Feature | Description |
|---|---|
| Multi‑LLM support | Auto fallback between Claude and OpenAI. |
| Auto‑storyboard | AI generates a scene‑by‑scene script with timings. |
| TTS narration | Natural voiceover with audio‑duration‑synced animations. |
| Manim animations | Professional mathematical and scientific visualizations. |
| Code repair loop | Generated Manim code is auto‑fixed on render errors (up to 3 retries). |
| Comprehension check (roadmap) | One micro‑question after each video – tests real understanding. |
| Re‑frame loop (roadmap) | On wrong answer, AI picks a new representation strategy and re‑renders. |
| Neurodivergent‑friendly | Low cognitive load, visual‑first, audio‑optional. |
Explainify is a multi‑agent pipeline that orchestrates several specialized components:
graph TB
subgraph Input
A[User Topic]
end
subgraph "LLM Configuration"
B[setup_llm_client]
B1[Claude API]
B2[OpenAI API]
B -->|Priority 1| B1
B -->|Fallback| B2
end
subgraph "Agent 1: Script Generation"
C[animations.py]
C1[generate_script_json]
C --> C1
end
subgraph "Agent 2: TTS Generation"
D[tts_generator.py]
D1[generate_complete_audio]
D2[generate_audio_fragment]
D3[concatenate_audio_fragments]
D1 --> D2
D2 --> D3
end
subgraph "Agent 3: Manim Code Generation"
E[manim_generator.py]
E1[generate_manim_code]
E --> E1
end
subgraph "Agent 4: Video Compilation"
F[concat_video.py]
F1[compile_video]
F2[concatenate_videos]
F3[merge_video_and_audio]
F1 --> F2
F2 --> F3
end
subgraph Output
G[Final Video with Audio]
end
A --> B
B --> C1
C1 -->|video-output.json| D1
C1 -->|video-output.json| E1
D1 -->|audio durations| E1
E1 -->|.py files| F1
F1 -->|.mp4 fragments| F2
D3 -->|audio.mp3| F3
F2 -->|output_silent.mp4| F3
F3 --> G
style A fill:#e1f5ff
style G fill:#c8e6c9
style C fill:#fff9c4
style D fill:#ffe0b2
style E fill:#f8bbd0
style F fill:#d1c4e9
- Python 3.11+
uv(fast Python package manager)- Manim, FFmpeg, LaTeX (all included in Docker)
git clone https://github.com/Flowthread/Explainify.git
cd Explainify
docker compose upThen open http://localhost:5000.
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone and setup
git clone https://github.com/Flowthread/Explainify.git
cd Explainify
uv sync
source .venv/bin/activate # or .venv\Scripts\activate on Windows
cp .env.example .env
# Start Flask server
python src/main.pyThen open your browser and navigate to http://localhost:5000.
Explainify supports Claude and OpenAI as LLM providers. Configure at least one in .env:
CLAUDE_API_KEY=your_key # priority 1 (used in auto mode)
OPENAI_API_KEY=your_key # fallback; also required for TTS
Auto mode uses Claude first, then falls back to OpenAI. You can also force a provider in the UI.
Watch a 3‑minute walkthrough (link to be added):
https://youtu.be/your-link-here
Explainify/
├── src/
│ ├── animations.py # Storyboard generation
│ ├── manim_generator.py # Manim code + repair loop
│ ├── tts_generator.py # TTS narration
│ ├── concat_video.py # Video + audio merging
│ ├── video_generator.py # Job orchestration
│ └── main.py # Flask API server
├── public/ # Demo GIFs, logos
├── .env.example
├── Dockerfile
├── docker-compose.yml
├── README.md
└── LICENSE (MIT)
MIT License – free to use, modify, and distribute.
Explainify was created for the IncludAI – Neurodiversity Hackathon as a tool that makes learning accessible through visual and auditory content.
- GitHub: github.com/Flowthread/Explainify
- Issues: github.com/Flowthread/Explainify/issues
- Developer: @Flowthread

