A native Mac IDE for PlantUML

Architecture diagrams as code, edited from either side: type PlantUML and the diagram redraws, or work on the diagram itself (add, connect, move and delete elements) and the source follows.

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

Nothing to set up

Everything PlantUML needs is already inside

PlantUML, the usual way

$ brew install openjdk
$ brew install graphviz
$ curl -LO https://…/plantuml.jar
$ java -jar plantuml.jar -tsvg containers.puml
$ open containers.svg
# edit, re-run, refresh, repeat.
# Editor plugins usually need the same
# installs, or send your diagram to a server.

Semami Architect

Open the app.

  • The engine is PlantUML itself (1.2025.4, MIT build) with its own Java 21 runtime, not a lookalike, so standard PlantUML files render without changes.
  • Layout uses Smetana, PlantUML’s built-in port of Graphviz, so there is no Java or Graphviz to install. A Smetana layout can differ from a Graphviz one.
  • Diagrams are drawn on your Mac, never on a server, so it works offline.
  • Native on Apple silicon, with dark mode, full keyboard control and VoiceOver labels on the controls.

Live preview

Edit the picture. The source follows.

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.

Diagram types

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

Plain files

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.

Around the diagram

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.

Agent Access

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>"
      }
    }
  }
}

Price

Buy it once.

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

Coming soon to the Mac App Store

There is no trial: if the app is not 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

Is there a free trial?

No. If the app is not for you, Apple refunds the purchase 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 →