Skip to content
← All articles
Project introduction

D2C OpenAI plugin — diagrams with PlantUML, Mermaid, and D2

Listen to the audio story

Drawing diagrams from a ChatGPT thread · 1:49 · AI-written script, synthetic voices

Transcript

Ava: A teammate describes a flow in chat. Ten minutes later you need a sequence diagram sitting in the repo. What do you do?

Andrew: Photograph the whiteboard? Or retype PlantUML from memory and hope.

Ava: Both were Antoine's old options, and he didn't love either. So he built D2C, a ChatGPT plugin that turns the conversation into PlantUML, Mermaid or D2 diagrams without leaving the thread.

Andrew: Why not just use screenshots?

Ava: Because a whiteboard photo doesn't paste into a Markdown repo. He wanted text-native diagrams he could drop into Hugo posts, GitHub READMEs and design reviews.

Andrew: So how does it work in practice?

Ava: In the original workflow, the request named the diagram type. Say, a PlantUML sequence for React, an API, Redis and a database. The model writes the syntax, the plugin renders it, and he pastes the result into Markdown.

Andrew: And what did it support?

Ava: PlantUML for UML sequences, classes and deployments. Mermaid for diagrams GitHub shows natively. And D2 for modern declarative system sketches.

Andrew: Does the AI get the syntax right every time?

Ava: No, and the page is honest about that. The model still hallucinates syntax sometimes. The plugin's job is to route to the right renderer, not to guarantee perfect UML. So always render locally before you publish.

Andrew: Is it still the way to do this?

Ava: Not really. OpenAI's plugin story moved on, so treat it as historical tooling. The successor-style work for editors is uml-mcp, for Cursor and other M C P hosts.

Andrew: Same loop, different host.

Ava: Exactly. The full write-up has the demo animation and the example prompts.

D2C OpenAI plugin — diagrams with PlantUML, Mermaid, and D2
Table of contents

D2COpenAIPlugin is a ChatGPT plugin that turns conversation into PlantUML, Mermaid, or D2 without leaving the thread. I built it when OpenAI plugins were the main extension story — useful for architecture sketches, lab docs, and “draw this flow” moments in chat.

1. User story

A teammate describes a flow in chat; I need a sequence diagram in the repo ten minutes later. Before the plugin, that meant exporting a whiteboard photo or hand-typing PlantUML from memory. With D2C, the model emits syntax, the plugin renders it, and I paste the result into Markdown — same loop I use today with MCP, different host.

2. Why not only screenshots?

Whiteboards do not paste into Markdown repos. I wanted text-native diagrams I could drop into Hugo posts, GitHub READMEs, and design reviews — the same motivation as later Diagram prompts with ChatGPT and AIPRM, but wired as a plugin action instead of a pasted template.

3. Original workflow

In the original plugin workflow, the request named the diagram type explicitly, for example a PlantUML sequence for React, an API, Redis, and a database. The project documentation covers the service and its setup.

The model still hallucinates syntax sometimes; the plugin’s job is to route to the right renderer, not to guarantee perfect UML.

4. Demo

Static capture of the plugin surface in ChatGPT:

Plugin screenshot — diagram output in the ChatGPT thread

Animated walkthrough:

Demo animation — generating UML from chat

5. What it supports

FormatGood for
PlantUMLUML sequences, classes, deployments in docs
MermaidGitHub-native diagrams, quick flows
D2Modern declarative system sketches

6. Example prompts that worked

Sequence diagram in PlantUML: user, React app, FastAPI, Postgres — include login and cache miss path.
Mermaid flowchart: CI pipeline from git push to deploy on AWS — lint, test, build image, ECR, ECS.
D2 diagram: homelab — Caddy on EC2, CloudWatch logs, Lambda alerts (keep boxes readable).

7. Limits

  • Plugin platform churn — OpenAI’s plugin story moved; treat this as historical tooling plus repo reference.
  • Validation — always render locally (PlantUML server, Mermaid live editor) before publishing.
  • Secrets — never ask the model to diagram production credentials inline.

Successor-style work for editors: uml-mcp[1] for Cursor and MCP hosts.

References

  1. antoinebou12. (). uml-mcp. [Software repository] github.com.

References use this article’s publication date.