Moldo
Moldo is a visual educational programming language. Instead of writing text code, learners drag and connect blocks on a canvas to build programs. When they press Run, Moldo compiles the visual graph into Python and executes it - showing the output in real time.
- Block-based
Programs are built by connecting visual blocks. No syntax errors, no blank-page anxiety.
- Extensible via molds
Anyone can publish new block types as a .zip.mold package - no changes to the core needed.
- Built for learning
Real Python under the hood. Learners build intuition about flow, variables, loops, and functions visually first.
- REST API
A FastAPI backend exposes everything over HTTP. Build your own editor or integration on top.
How it works
[mflow-editor] [moldo backend]
───────────── ───────────────
Learner drags → Receives JSON
and connects program tree
blocks on canvas
→ Compiles to
Python source
→ Executes and
streams output
Shows output ←
and highlights
active nodes
The mflow-editor is an Electron desktop app (plain HTML/JS, no framework). It talks to the moldo FastAPI backend over HTTP on localhost:8000.
Quick start
Then open the mflow-editor desktop app, drag some blocks, and press Run.
What are molds?
A mold is a self-contained package that adds new block types to the editor. The 7 built-in capabilities (variables, I/O, control flow, math, text, collections, functions) are all molds - there is no special-casing.
Community developers can build and distribute molds for anything: web scraping, image processing, data analysis, hardware control, or game logic.