Local‑first architecture diagrams as code.

Drag, connect, relabel and delete on the diagram itself, or type, and the other side follows. Every change is a plain text edit to your .puml file, so ⌘Z undoes it and your usual code review sees exactly what changed.

Semami Architect with PlantUML source for a C4 container diagram on the left, the rendered diagram on the right, and the project sidebar

Work on the diagram itself

The diagram redraws as you type, and the picture is editable too: every gesture on it is an ordinary text edit, so ⌘Z undoes it and git sees it.

  1. ClickJump to the line that drew an element or arrow. Move the caret, and that element is highlighted.
  2. Double-clickEdit names, labels, notes and table rows in place. Return commits, Esc cancels.
  3. Drag from the LibraryDrop an icon onto the diagram or into a boundary; the element and its includes are written for you.
  4. Connect⌥-click one element, then click another, to add a relationship between them.
  5. Drag an arrow endDrop it on another element to retarget the relationship.
  6. Drag a boxDrop an element into another boundary, and its line moves into that block.
  7. Right-clickChange a colour, a relationship’s type or direction, add a note, or delete an element and every line that refers to it.
  8. MistypeThe last good picture stays up, and the broken line is marked.
A relationship label in a C4 diagram being edited in place, with an Edit label popover reading Submits orders
In the app: renaming a relationship on the diagram.

The diagrams architects draw

Each one below is a plain PlantUML file and the picture the app draws from it. New diagrams can start from a template, and the Reference section in the sidebar holds worked examples to copy.

Search the icons, not the docs

Type lambda, drag the result into the diagram, and the right !include lines are added for you. Add your own images to My Library and use them like the built-in ones.

The element library searching for lambda, listing AWS, Azure, Google Cloud and logo results, beside an AWS pipeline diagram

A diagram change is a diff

Every diagram is a .puml text file in a folder you choose. Keep it in git beside the code it describes, and review changes the way you review code.

  • Clone and carry on. A teammate opens the repository as a project and picks up where you left off.
  • Share a link. Copy a diagram as a PlantUML URL. It opens on plantuml.com for anyone without the app.
  • Readers don’t need the app. The files are standard PlantUML: no proprietary format, no account, nothing to lock you in.
  • Bring what you have. Open a folder of existing .puml files, or paste a PlantUML URL.
architecture/c4/containers.puml+3 −1
@@ -8,11 +8,13 @@ System_Boundary(shop, "Acme Shop") {
   Container(web, "Web Storefront", "React")
   Container(api, "Storefront API", "Kotlin")
   ContainerDb(db, "Orders DB", "PostgreSQL")
+  ContainerQueue(bus, "Event Bus", "Kafka")
 }
 System_Ext(pay, "Payment Gateway")

 Rel(customer, web, "Buys from", "HTTPS")
-Rel_R(web, api, "Calls", "JSON")
+Rel_R(web, api, "Places orders", "JSON")
 Rel(api, db, "Reads and writes", "JDBC")
 Rel_R(api, pay, "Takes payments", "REST")
+Rel(api, bus, "Publishes events")
 @enduml
Adding an event bus and renaming a relationship, as your reviewer sees it.

Write it up, present it, tidy it

A markdown architecture overview with its source on the left and the rendered page on the right, including a live system context diagram

Write-ups with live diagrams

Markdown pages sit beside your diagrams and embed them. Change a diagram and the page updates. Copy a page for Confluence with the images inline.

Presentation mode showing an AWS serverless pipeline diagram as slide two of four, with a progress track

Present

Turn a set of open tabs into a full-screen walkthrough for the review meeting, with a notebook view for tall diagrams.

  • Tidy Layout

    One click reorganises a busy diagram: fewer crossings, fewer overlaps. Every tidy is an ordinary text edit you can undo and diff.

  • Export and print

    SVG and PNG export, printing, and Copy as PlantUML URL for chat and tickets.

  • Find anything

    Quick Open, workspace search, and syntax highlighting with the error line marked.

Bring your own AI, or none

The app has no AI of its own and sends nothing to one. If your organisation has approved an assistant, such as Claude Code, turn on Agent Access and it can create and update diagrams in your workspace.

  • Off by default. A local MCP server that listens only on this Mac.
  • Token-protected. Your assistant needs a token the app issues; turn the feature off and the port closes.
  • Checked before it is saved. Every diagram the assistant makes is rendered first, so it cannot hand you one that does not draw. New work opens as an unsaved tab for you to review.
MCP settingscopied from the app
{
  "mcpServers": {
    "semami-architect": {
      "url": "http://127.0.0.1:41414/mcp",
      "headers": {
        "Authorization": "Bearer <your token>"
      }
    }
  }
}

Buy it once.

One download: no subscription, no account, no in-app purchases. Launch price until December 31st.

Buy on the Mac App Store

Try it on your own diagrams: if it isn’t for you, request a refund from Apple within 14 days. Questions before you buy? support@webzakimbo.com

macOS
13 Ventura or later
Mac
Apple silicon (M1 or later). Intel Macs are not supported.
Network
None needed. Nothing else to install.
Privacy
No account, no analytics, no tracking. The app never uploads your diagrams; the only thing it sends on its own is a crash or hang report, without diagram contents. Privacy policy

Before you buy

Can I try it first?

Buy it, use it on your own diagrams, and if it isn’t for you, request a refund from Apple within 14 days.

Will my existing diagrams open?

Yes. Add the folder as a project. The app draws standard PlantUML with the bundled 1.2025.4 engine. Because layout uses Smetana, a diagram can look different from a Graphviz render. If something that works elsewhere fails here, send it to us.

What if I stop using it?

Your diagrams are plain .puml files in your own folders. Any PlantUML tool can open them, and deleting the app leaves them where they are.

Is it for teams?

Yes, through the files. Share them with git or any shared folder; there is no team account. Readers don’t need the app: a PlantUML URL opens in a browser.

All questions and support →