Blocks GitHub

Build AI.
No code.

Blocks is a visual workbench: build models, data pipelines, AI agents and reinforcement-learning experiments by connecting blocks, run them on your own machine, and see what every piece did.

The diagram is the program.

Pick blocks from a library of 118 and connect them. Every wire shows the shape of the data on it, every block shows its parameters, and a mismatch turns red before anything runs.

The graph editor with the reference CNN, the block library, the inspector and live training curves.
Build and train. Shapes on every block; loss and accuracy stream in while it learns.
A statistics graph with a hypothesis test's density plot, shaded tail and p-value.
Analyse. Tables, classical ML and statistics, with the evidence drawn for you.
An agent graph's typed state schema with reducers.
Agents. Native LangGraph: typed state, routes, loops, memory and approvals.
A CartPole DQN run: episode return over environment steps.
Reinforcement learning. Gymnasium environments, every transition kept.

One canvas. Five kinds of graph.

Wires of different kinds never mean the same thing, so a tensor can't be plugged into a table by accident. 37 example projects are ready to open.

Model

Layers, losses, reusable modules and Python code blocks.

PyTorch · Keras 3 · JAX

Tabular

Data preparation, classical ML, statistics tests, clustering.

pandas · scikit-learn · SciPy

Agent

Typed state, routes, bounded loops, tools and approvals.

LangGraph · local models

RL

Environments, reward components, replay buffers, DQN and TD3.

Gymnasium

Media

Typed vision, NLP and speech workflows with recorded inspection.

PyTorch

Everything around the canvas.

From the first block to a served model, without leaving the app.

Measured, not assumed.

The reference CNN built from its graph against the same network written by hand, one training step on CPU (Apple M4 Pro, batch 16).

Train stepHand-writtenFrom the graphRatio
PyTorch17.41 ms17.30 ms0.994
Keras 313.51 ms14.09 ms1.044
JAX7.81 ms7.90 ms1.011

Median of 5 fresh processes × 50 timed calls each. Raw data and method: benchmarks/results/m6a_summary.md.

118blocks in the library
10M rowstabular pipelines, linear time (~3.8 µs/row)
909Python test functions in CI
24real-browser journeys on every pull request

Runs on your machine.

Python 3.13+, Node.js and pnpm. Nothing is sent anywhere.

python3 -m venv .venv
.venv/bin/pip install -r python/requirements.txt && .venv/bin/pip install -e .
pnpm -C apps/editor install

python -m uvicorn control.app:create_app --factory --app-dir services --port 8000
pnpm -C apps/editor dev        # then open http://127.0.0.1:5173