<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jimmy Zhou</title>
    <description>The latest articles on DEV Community by Jimmy Zhou (@jimmyzhou).</description>
    <link>https://dev.to/jimmyzhou</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4057770%2F6c17d2ea-084e-4eb4-be0a-5fc1c7d7be50.jpg</url>
      <title>DEV Community: Jimmy Zhou</title>
      <link>https://dev.to/jimmyzhou</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jimmyzhou"/>
    <language>en</language>
    <item>
      <title>Why 'Diagrams as Code'?</title>
      <dc:creator>Jimmy Zhou</dc:creator>
      <pubDate>Sat, 01 Aug 2026 11:39:39 +0000</pubDate>
      <link>https://dev.to/jimmyzhou/why-diagrams-as-code-2enc</link>
      <guid>https://dev.to/jimmyzhou/why-diagrams-as-code-2enc</guid>
      <description>&lt;p&gt;If you’ve spent any time leading software projects or designing systems, you’ve probably experienced the &lt;strong&gt;Architecture Diagram Curse&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You spend two hours carefully arranging boxes, arrows, and colors on a visual canvas.&lt;/li&gt;
&lt;li&gt;It looks beautiful. You put it in the documentation.&lt;/li&gt;
&lt;li&gt;Two weeks later, the system architecture changes.&lt;/li&gt;
&lt;li&gt;Nobody updates the diagram, and it becomes a lie. 😅&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For a long time, standard drag-and-drop tools were the default. But as workflows become faster and AI gets integrated into daily coding, &lt;strong&gt;Diagrams as Code (DaC)&lt;/strong&gt; is shifting from a niche preference to a genuine best practice.&lt;/p&gt;

&lt;p&gt;Here’s why text-driven architecture is winning—and why it might be time to rethink your documentation stack.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem with Static Visual Canvases
&lt;/h2&gt;

&lt;p&gt;Visual canvases are great for quick brainstorming, but they fall short in modern, fast-moving development environments:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;High Maintenance Friction:&lt;/strong&gt; Moving one component often means re-aligning 10 connecting lines manually.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Incompatible with AI:&lt;/strong&gt; Large Language Models (LLMs) think in text and code, not visual pixel layouts. You can't ask ChatGPT or Gemini to "drag a box to the left," but you &lt;em&gt;can&lt;/em&gt; ask them to refactor a block of text.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context Switching:&lt;/strong&gt; Jumping out of your IDE to tweak a standalone graphics file breaks your flow state.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Enter Open Standards: PlantUML &amp;amp; Mermaid
&lt;/h2&gt;

&lt;p&gt;The real power of Diagram as Code comes from open text standards. Tools like &lt;strong&gt;&lt;a href="https://plantuml.com/" rel="noopener noreferrer"&gt;PlantUML&lt;/a&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;a href="https://mermaid.js.org/" rel="noopener noreferrer"&gt;Mermaid&lt;/a&gt;&lt;/strong&gt; let you treat system documentation the same way you treat source code: &lt;strong&gt;as plain text.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of wrestling with a layout engine, you write something like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sequenceDiagram
    autonumber
    Client-&amp;gt;&amp;gt;API Gateway: POST /checkout
    API Gateway-&amp;gt;&amp;gt;Order Service: Process Order
    Order Service-&amp;gt;&amp;gt;Payment API: Charge Card
    Payment API--&amp;gt;&amp;gt;Order Service: Success (200 OK)
    Order Service--&amp;gt;&amp;gt;Client: Order Confirmed

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And just like that, you get a Sequence Diagram rendered instantly:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftkui5ygzkbp9hf3cnn66.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftkui5ygzkbp9hf3cnn66.jpg" alt=" " width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Attribution: Created with &lt;a href="https://www.visual-paradigm.com/features/diagram-as-code-tool/" rel="noopener noreferrer"&gt;Visual Paradigm VPasCode&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why This Shift Is Huge:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;AI-Ready:&lt;/strong&gt; You can prompt an LLM to generate an entire sequence diagram or refactor a class structure in seconds.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Refactoring at Scale:&lt;/strong&gt; Need to rename &lt;code&gt;OrderService&lt;/code&gt; to &lt;code&gt;FulfillmentService&lt;/code&gt; across 12 diagrams? A simple find-and-replace takes 5 seconds.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Portability:&lt;/strong&gt; You aren't locked into a single app's proprietary &lt;code&gt;.canvas&lt;/code&gt; or binary format.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Closing the Gap: Code Speed + Visual Flexibility
&lt;/h2&gt;

&lt;p&gt;Of course, DaC isn't perfect out of the box. Pure text-to-diagram setups can sometimes feel rigid when you want to tweak visual themes, handle complex multi-syntax projects, or quickly export clean visuals for a stakeholder presentation.&lt;/p&gt;

&lt;p&gt;This is where the ecosystem is evolving. Modern platforms are starting to blur the line between code and visual engines. For instance, unified tools - like Visual Paradigm's recent &lt;a href="https://www.vpascode.com" rel="noopener noreferrer"&gt;VPasCode&lt;/a&gt; engine - are emerging to recognize open standards like PlantUML, Mermaid, and Graphviz while giving you live web rendering, flexible styling, and easy sharing URLs under one roof.&lt;/p&gt;

&lt;p&gt;Being able to prompt code with AI, render it instantly in a unified environment, and still touch it up visually gives you the best of both worlds.&lt;/p&gt;

</description>
      <category>plantuml</category>
      <category>uml</category>
      <category>tools</category>
      <category>systemdesign</category>
    </item>
    <item>
      <title>Gemini AI + VPasCode: A Review of Visual Paradigm’s Diagram-as-Code Tool</title>
      <dc:creator>Jimmy Zhou</dc:creator>
      <pubDate>Sat, 01 Aug 2026 10:53:45 +0000</pubDate>
      <link>https://dev.to/jimmyzhou/gemini-ai-vpascode-a-review-of-visual-paradigms-diagram-as-code-tool-642</link>
      <guid>https://dev.to/jimmyzhou/gemini-ai-vpascode-a-review-of-visual-paradigms-diagram-as-code-tool-642</guid>
      <description>&lt;p&gt;Visual diagramming tools have always had a place in modern development. Being able to drag, drop, and visually structure complex architecture is indispensable when designing systems. &lt;/p&gt;

&lt;p&gt;However, with the rise of AI tools like &lt;strong&gt;Gemini&lt;/strong&gt;, the modern developer workflow is evolving fast. Today, we don't always want to start diagrams from scratch - we want to &lt;strong&gt;generate initial models using natural language, and fine-tune as text.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Visual Paradigm has been a major player in visual modeling software for decades, and they've recently released a tool called &lt;a href="https://www.vpascode.com" rel="noopener noreferrer"&gt;VPasCode&lt;/a&gt; - a unified diagram-as-code platform designed to blend modern AI generation with flexible modeling power. I decided to give it a spin to see how it fits into an AI-assisted workflow.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Diagram-as-Code Fits the Modern AI Workflow
&lt;/h2&gt;

&lt;p&gt;While traditional visual canvas editing is still great for quick manual adjustments, &lt;strong&gt;Diagram-as-Code&lt;/strong&gt; shines in the era of AI for three main reasons:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Natural LLM Output:&lt;/strong&gt; Large Language Models (LLMs) output text and code natively. Generating text-based markup like PlantUML or Mermaid takes an LLM just seconds.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Speed &amp;amp; Efficiency:&lt;/strong&gt; Writing or prompting markup lets you build massive class or sequence diagrams without placing every shape manually.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-Engine Flexibility:&lt;/strong&gt; You aren't tied to a single dialect.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;VPasCode acts as a &lt;strong&gt;unified diagram-as-code engine&lt;/strong&gt; supporting &lt;strong&gt;PlantUML, Mermaid, Graphviz, ECharts, Markmap, SQL, and many programming languages&lt;/strong&gt; under one roof.&lt;/p&gt;




&lt;h2&gt;
  
  
  My Workflow: From Gemini Prompt to Polished Diagram
&lt;/h2&gt;

&lt;p&gt;Here is a practical look at how I use &lt;strong&gt;Gemini AI + VPasCode&lt;/strong&gt; to build robust class diagrams in a fraction of the time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Prompting Gemini for the Initial Model
&lt;/h3&gt;

&lt;p&gt;Instead of laying out boxes manually, I give &lt;a href="https://gemini.google.com/" rel="noopener noreferrer"&gt;Gemini&lt;/a&gt; a high-level architectural prompt:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Generate a PlantUML class diagram for an e-commerce platform covering Orders, Customers, Payments, and Inventory with proper object relationships."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Gemini outputs structured markup in seconds:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@startuml
class Customer {
  +String id
  +String name
  +placeOrder()
}

class Order {
  +String orderId
  +Date createdDate
  +calculateTotal()
}

class Payment {
  +String paymentId
  +Boolean process()
}

Customer "1" -- "0..*" Order
Order "1" -- "1" Payment
@enduml

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 2: Instant Rendering &amp;amp; Touch-Ups in VPasCode
&lt;/h3&gt;

&lt;p&gt;I copy Gemini's output directly into &lt;a href="https://www.vpascode.com" rel="noopener noreferrer"&gt;VPasCode&lt;/a&gt;. The class diagram renders instantly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5vh9ylk1znzf5pesphha.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5vh9ylk1znzf5pesphha.jpg" alt="Editing class diagram with VPasCode" width="800" height="552"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From there, I get complete editing freedom:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Text-First Adjustments:&lt;/strong&gt; I can quickly edit classes, attributes, operations, and relationships as code and see the visual updates in real time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom Themes &amp;amp; Export:&lt;/strong&gt; Switching visual themes takes a click, and once the design is ready, I can export it as a clean PNG to drop straight into a design document or report.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Seamless URL Sharing:&lt;/strong&gt; This is one of my favorite features—diagrams can be shared directly via a dynamic URL. As you edit, the URL updates live to reflect your latest state. You can simply copy and send that link to teammates for instant sharing without forcing anyone to sign up or download files.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Best of Both Worlds
&lt;/h2&gt;

&lt;p&gt;You don't have to choose between visual design and text-based speed anymore. By combining &lt;strong&gt;AI's generative power&lt;/strong&gt; with &lt;strong&gt;VPasCode's multi-syntax support (PlantUML, Mermaid, Graphviz)&lt;/strong&gt;, software design and documentation becomes faster, smarter, and far more flexible.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Want to try it yourself?&lt;/strong&gt; Check out &lt;a href="https://www.vpascode.com" rel="noopener noreferrer"&gt;VPasCode&lt;/a&gt; and test your AI-generated diagrams today.&lt;/p&gt;

&lt;p&gt;Have you tried using AI to bootstrap your architectural diagrams? What markup language do you find yourself using most? Let’s chat in the comments!&lt;/p&gt;

</description>
      <category>diagramascode</category>
      <category>plantuml</category>
      <category>uml</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
