The Missing Diagram

The Missing Diagram
L
posted by admin
November 7, 2025

So I wanted Wardley Maps in my workflow. Native. Version-controlled. In markdown. Living alongside my code and documentation.

The options were… limited.

What Exists Today

I spent a weekend evaluating every Wardley Map tool I could find:

  • OnlineWardleyMaps: The gold standard for web-based mapping. Great UI, good export options. But it’s a separate app—you create maps there, export images, paste them into docs. They become stale immediately. No version control. No diffs.

  • MapScript: Text-based syntax (good!), but outputs to a standalone viewer. Same problem—not embeddable where I work.

  • Draw.io / Excalidraw: Manual drawing. Every position change is a drag operation. Try keeping 20 components aligned. Try diffing changes in a PR. It doesn’t work.

  • Python libraries: Code-based generation, which I like in principle. But heavy setup for quick diagrams, and the output is still an image file you have to manage separately.

  • PowerPoint / Keynote: I’ve seen entire strategy decks built this way. Please, no.

None of these fit how I actually work.

How I Work

I live in GitHub. My planning docs are markdown. My ADRs (Architecture Decision Records) are markdown. My READMEs are markdown.

When I add a sequence diagram, I write:

sequenceDiagram
    Client->>API: Request
    API->>Database: Query
    Database-->>API: Results
    API-->>Client: Response

And it just renders. In GitHub. In my editor preview. In documentation sites. No image files. No external tools. No staleness.

This is what I wanted for strategy diagrams.

The Gap

Mermaid.js does this perfectly for:

  • Flowcharts
  • Sequence diagrams
  • Entity relationships
  • State diagrams
  • Gantt charts
  • Git graphs
  • And many more

But no Wardley Maps.

I checked. I searched the issues. People have asked for it. There’s been prior discussion going back years. Nothing shipped.

Why This Matters

Strategic diagrams shouldn’t be second-class citizens. If I can put a flowchart in my README and have it render natively on GitHub, I should be able to do the same with a Wardley Map.

Version-controlled strategy. Diffable decisions. Diagrams that live with the code they describe.

Imagine reviewing a PR that changes your architecture—and the strategy map updates in the same commit. That’s the workflow I want.

The Decision

If it doesn’t exist and I need it, I’ll build it.

The approach: contribute directly to Mermaid.js. Not a fork. Not a separate library. Native support that works everywhere Mermaid works.

Next up: why Mermaid was the right place to build this.