PersonalMVPPublic2026

Manimation

Manimation is a PySide6 desktop studio that turns writing Manim animations into a structured workflow: storyboard a project as an ordered list of scenes, generate Manim CE scene code from a title and objective using OpenAI, Anthropic, Gemini, any OpenAI-compatible endpoint, or a fully offline local GGUF model, then render and run a heuristic QA pass that scores the result and lists issues. An autonomous production agent can loop storyboard → code → render → QA → repair until it clears a quality threshold, and an in-app AI assistant answers questions about the current scene along the way.

Manimation

About This Project

Writing Manim animations by hand means constantly round-tripping between scene code, the CLI renderer, and manually judging whether the output actually explains the idea it's supposed to.

Built a desktop studio around a storyboard-first workflow: each scene tracks its own title, objective, generated code, and render, with an optional AI production agent that iterates a scene through code generation, rendering, and a heuristic QA pass until it's good enough.

A local-first animation studio where every long-running step (generation, rendering, the production agent, chat) runs off the UI thread, so scenes can be storyboarded, generated, and rendered without the window ever freezing.

Role

Desktop Application Developer

Year

2026

Status

Public

Type

Personal

Technology Stack

PythonPySide6ManimSQLitellama.cpp

Project Story

The Challenge

Writing Manim animations by hand means constantly round-tripping between scene code, the CLI renderer, and manually judging whether the output actually explains the idea it's supposed to.

The Approach

Built a desktop studio around a storyboard-first workflow: each scene tracks its own title, objective, generated code, and render, with an optional AI production agent that iterates a scene through code generation, rendering, and a heuristic QA pass until it's good enough.

The Outcome

A local-first animation studio where every long-running step (generation, rendering, the production agent, chat) runs off the UI thread, so scenes can be storyboarded, generated, and rendered without the window ever freezing.

Insights & Takeaways

Highlights

  • Storyboard model persists scenes to a local SQLite database and exports to versioned JSON.
  • Pluggable AI backends — OpenAI, Anthropic, Gemini, any OpenAI-compatible endpoint, or a local GGUF model via llama.cpp — including a deterministic offline placeholder when no key is set.
  • Autonomous production agent loop (storyboard → code → render → QA → repair) with a configurable iteration limit and QA threshold.
  • In-app AI assistant chat dock for questions about the current scene and the Manim API.

Challenges

  • Designing a heuristic QA pass that scores a rendered animation's quality well enough to drive an autonomous repair loop without human review.
  • Keeping the UI responsive while generation, rendering, and the agent loop all run as long background operations.

Lessons Learned

  • A structured storyboard model turns animation-making from a one-off scripting task into something that scales to many scenes, and made bolting on an autonomous agent loop far more tractable than it would be against raw script files.

Related Work