Creating diagrams is often a lot of work. While they are useful for conveying complex ideas visually, several issues make the process cumbersome:
PlantUML is a simple and efficient way to create diagrams using relatively simple syntax. Instead of relying on drag-and-drop tools, PlantUML lets you define the structure of your diagrams and then automatically render them. This approach addresses many of the challenges:
Another widely used option is Mermaid which has 1st party support e.g. in Webstorm.
On related note, I built an application called Selkie to help me with authoring Mermaid diagrams.
I really like Gantt diagrams for planning. Here's one in PlantUML:
' https://plantuml.com/gantt-diagram | |
@startgantt Example | |
saturday are closed | |
sunday are closed | |
Project starts 2025-07-01 | |
<style> | |
ganttDiagram { | |
task { | |
BackGroundColor GreenYellow | |
LineColor Green | |
} | |
undone { | |
BackGroundColor red | |
} | |
} | |
</style> | |
' starts -> ends | |
[Example1] starts 2025-07-03 | |
[Example1] ends 2025-07-04 | |
' starts -> lasts | |
[Example2] starts D+4 | |
[Example2] lasts 5 days | |
' starts -> requires | |
[Example3] starts 2025-07-10 | |
[Example3] requires 5 days | |
' requires -> ends | |
[Example4] requires 10 days | |
[Example4] ends 2025-08-04 | |
' starts at x's end | |
[Example5] starts at [Example4]'s end | |
[Example5] lasts 2 days | |
' Alias | |
[Example6] as [E6] starts at D+40 | |
[E6] lasts 10 days | |
' Progress | |
[E6] is 40% completed | |
' Milestone | |
[Example7] happens at [E6]'s end | |
' Highlight date range | |
2025-08-20 to 2025-08-27 are named [Demo days] | |
2025-08-20 to 2025-08-27 are colored in salmon | |
@endgantt |
And here's how it looks like: