zumen

The architecture changed.
The diagram did not.

An AI draws the diagram; you move one box.
That move survives the next generation.

Download GitHub mac / Windows · MIT
A cloud architecture diagram
This one came from text with no coordinates in it — the placement and the routing were decided by the machine. (Other drawings do carry coordinates: on a floor plan or a lighting plot, where a thing sits is the drawing.)

Why diagrams rot

The architecture changes → updating the diagram is a chore → nobody updates it → the diagram is now a lie → nobody looks at diagrams any more.

Existing drawing tools are finished products for drawing the first version. There is no point competing there. zumen is aimed at the rot, not at the blank page.

What it can draw

Not only servers and networks. Transit maps and train timetables, floor plans and framing plans, piping and switchgear, periodontal charts, fishing rigs, theatrical lighting plots, vehicle damage reports, container stowage, fireworks safety distances — if a drawing says “what connects to what”, “in which order”, or “what is where”, the same notation covers it.
Real events can be drawn straight from the record. The 11 March 2011 tsunami, from the Japan Meteorological Agency’s own gauge readings (example 355): the highest waves reached Iwate before its forecast was raised above 10 m. Famous buildings too, from their published figures: Tokyo Skytree’s 634 m at one metre to the pixel (example 358). House styles swap too. Keep the plan, change only the style table: greyscale, colour-coded, or a mix of the two (359, 360, 361).
The samples below all come from the same eleven words of vocabulary. No industry-specific shape packs were added: the expertise lives in the tags (C1 G1 2"-CS-101 LBS-1), not in the shapes.
Architectural drawings carry grid lines and dimensions. Walls have thickness and doors show their swing — you cannot build anything from a drawing without dimensions.
Dimensions come out in millimetres, metres, or feet and inches — whichever the drawing's own scale asks for.

News(feed)

24 of the 405 drawings are lettered in English; the rest are in Japanese. The notation does not change with the language — both use exactly the same eleven words. Every sample is drawn from a .zumen.yaml in examples/gallery.

The source of truth is readable text

version: 1
title: On-premise server layout

nodes:
  - id: httpd
    type: server
    label: Apache httpd
    technology: 2.4 / mod_php
  - id: db
    type: database
    label: MariaDB

edges:
  - from: httpd
    to: db

Git shows the diff. Review tells you who added what. type becomes a shape, so it still reads in black and white and at small sizes — a cylinder is a database, a hexagon is a cache, a cloud is the outside world.

A floor plan is the same text

version: 1
kind: placement
# 1 px = 1.5 in. Studs 4", exterior 8"
scale: { in: 1.5 }
wall: { in: 4, outer: 8 }
north: up
grid:
  x:
    - { id: X1, at: 60 }
    - { id: X2, at: 220 }
  y:
    - { id: Y1, at: 60 }
    - { id: Y2, at: 284 }

nodes:
  - id: great
    label: GREAT ROOM
    technology: two-story
    at: { x: 220, y: 148 }
    size: { w: 88, h: 136 }
    openings:
      - { kind: window, side: bottom, at: 0.5, width: 56 }
      - { kind: door, side: top, at: 0.5, width: 24 }

Dimensions are measured from the grid lines only. Measured from the rooms they would change depending on which side of the wall you count, and the site would disagree with the drawing — real drawings use grid lines to make that single-valued.
No scale, no figures. Writing numbers at a scale you do not know is worse than writing none.
The scale also chooses the units: { mm: 40 } gives 14,000, { in: 1.5 } gives 46'-0".

Watch one grow

A two-storey house plan assembling itself in five steps, from the shell to the two-storey volumes
zumen made this of itself, from the source of each step (pnpm timelapse). No screen recording — an animated SVG, 143 KB, 12 KB over the wire.

It competes on the second drawing

1. Ask in wordsAn AI that knows your architecture draws it
2. A diagram appearsPlacement and routing are automatic. You choose nothing
3. You fix one thingMove the box that bothers you. That is all
4. The architecture changesAsk again. The box you moved stays put

A human's edit is written only to pins in the source, and the AI cannot write there. The tool closes that door, so it does not depend on policy or a note in the prompt. Tried ten times with a real AI: the edit survived all ten.

Let an agent draw it directly

{ "mcpServers": { "zumen": {
    "command": "node",
    "args": ["<path to zumen>/src/mcp.ts"] } } }

Thirteen MCP tools. An agent that already knows your architecture can draw it. Call zumen_inspect afterwards and you get crossing edges, overlapping boxes, labels that were dropped because they did not fit, whether it is legible on a projector, and whether a human has looked at it yet.

zumen_timelapse films a drawing growing — no screen recording, so it also works on a machine nobody is sitting at.

Some doors are deliberately shut — resolving conflicts, writing pins, and marking a drawing as reviewed. Open them and the AI could approve its own drawing.

What it will not do

  • It does not chase a shape library. The vocabulary stays small
  • It does not place things for you in scaled drawings. Where something sits is the author's decision when dimensions carry meaning
  • It ships no vendor logos. An AWS icon reads as “this runs on AWS”, which makes it useless for your own hardware
  • It does not finish without you. Keeping the human in the loop is the point, not a limitation

Try it

This is alpha. The builds are unsigned, so your machine will warn you (macOS says “damaged”, Windows says “protected your PC”). Do not make it your daily tool yet. A plain executable you can drop anywhere ships too.

Releases How to install

With Rust installed, pnpm app runs it from source. The MCP server alone needs only Node — no shell required.

Click again or press Esc to close