Should I vibe code
Templates and automation for diagrams, floor plans, and charts
Graph layout has been free since Graphviz. What you can't download is a symbol set an electrician trusts.
?
Their verdict, the Individual price and the build-time estimate come from their entry, MIT-licensed. Checked 2026-08-04.
?
Our verdict, the regret score and everything below it. Editorial and unsponsored — nobody can pay to be moved.
The honest answer
why the verdict is what it is
Lucidchart's entry here is about connectors that stay attached when you move the box, and every word of it still applies. SmartDraw's own pitch sits one level up from that: it would rather you did not draw at all. Type a list and get an org chart. Import a PDF or a Google Map and lay a scaled floor plan over the top. Pick from thousands of industry-standard symbols instead of rectangles. The first of those is unexpectedly kind to a homemade version, because automatic graph layout is a solved problem with free, excellent implementations — Graphviz, dagre and ELK will arrange your hierarchy better than you would, and reaching for one is most of the project. The other two are the wall. A symbol library is not clip art; it is a vocabulary with licences attached and meanings that engineers rely on, and approximately-correct symbols are worse than none. And the moment a drawing is to scale, an export that silently drops the scale factor stops being a rendering bug and becomes a wrong number in front of somebody holding a tape measure. Build it to learn the canvas. Do not let the facilities team start filing things in it.
What actually breaks
not "if". the specific failures.
- Visio interchange. A .vsdx opens in your app with the shapes roughly where they should be and the connections gone — and that direction matters most, because the diagrams you urgently need to open are the ones you did not draw
- Auto-layout determinism. Adding one node re-flows the whole chart, so every commit diffs as the entire file and no reviewer can tell what actually changed
- Scale. A floor plan is a claim about metres, and a scale factor lost in export turns a rendering bug into a wrong measurement somebody acts on
- The symbol library, which is a licensing and semantics problem in an artwork costume — an electrical or process symbol means something specific, and drawing it nearly right is worse than not drawing it
- Multi-sheet printing. The diagram that fits on screen becomes six A4 pages with a connector crossing the seam and no tiling marks
- Text measurement between the browser and the export, so the box that fit its label on screen clips it in the PDF that got emailed
- The org chart imported from the HR system once in March, which is now the document people use to work out who approves things
Is that you?
the verdict is a default, not a law
- The diagrams are generated from source rather than drawn, and regenerating is cheaper than editing
- Output is an SVG or PNG committed next to the code it documents
- You would otherwise be writing Mermaid and simply want it to look better
- Nothing in it is drawn to scale and nothing physical gets built from it
- Anyone needs to open a .vsdx from a vendor, or send one back
- The drawings document a physical thing — a rack, a floor, a wiring run — that somebody will work from
- A team will file drawings in it and expect to find them in three years
- The plan involves recreating a standards-based symbol set, which is a procurement decision wearing a weekend's clothing
If you build it anyway
the checklist, then the prompt that enforces it
- Use an existing layout engine — Graphviz, ELK or dagre. Writing your own hierarchical layout is a research project you will lose.
- Store diagrams in an open, diffable text format. The file has to outlive the app, and the app is a side project.
- Make SVG and PDF export the artefact of record from the first commit, so the tool is never the only thing that can read your documentation.
- If anything is to scale, put the scale in the file, render a scale bar into every export, and write a test that a known 5m wall measures 5m after a round trip.
- Do not try to own a symbol library. Reference standard sets or define shapes in text, and be honest in the README about which standards you do not implement.
- Pin layout engine versions. An upgrade that improves routing will silently redraw every diagram you have, which is fine until one of them was printed and posted on a wall.
I am building a diagramming tool for business and technical diagrams. Apply
these constraints before any canvas work, and push back when I ask for the
fun part first.
1. Diagrams are stored in an open text format — DOT, Mermaid or documented
JSON — that a human can read and git can diff. Design that format before
drawing anything.
2. Write the importer and exporter before the editor. SVG and PDF out, and
the text format in, both working and tested on day one.
3. Do not implement graph layout. Use Graphviz, ELK or dagre and pin the
version, because a layout upgrade silently redraws every diagram I own.
4. Keep layout deterministic: same input, same coordinates. If the engine
cannot promise that, persist computed positions rather than recomputing.
5. If I ask for scaled drawings — floor plans, site layouts — store the scale
as data, render a scale bar into every export, and add a round-trip test
asserting a known dimension survives export unchanged. A silently rescaled
drawing is the failure that reaches somebody with a tape measure.
6. Do not build a symbol library. Reference existing standard sets, and put a
list of the standards this tool does not implement in the README so nobody
assumes an approximate symbol is a compliant one.
7. Connector routing: obstacle avoidance and attachment points before styling.
A connector that detaches on move is the defining bug of this category.
8. Multi-page export gets tiling marks and a page grid in the editor. Do not
let a diagram look finished on screen and print across a seam.
9. Measure text with the same engine that renders the export, and add a test
that no label is clipped in the PDF.
10. Out of scope, and say so rather than half-building: .vsdx import/export,
real-time collaboration, and a template gallery. If Visio interop turns
out to be a requirement, stop — that is what the $10.95 a month is for.That one keeps you out of trouble. For the prompt that actually builds it, canivibecodeit.com has one.
their build prompt ↗Or don’t build it
the boring option, and the way back out
The instant somebody else's file format enters the conversation, or the drawings need symbols that mean something. About $11 a month, billed annually, buys the symbol libraries, the Visio path and a scale engine somebody else debugged — and it takes the licensing question off your desk entirely. Build your own when your diagrams are generated from code you control and read only by people on your team.
$10.95/mo is cheaper than your weekend.
The file format is the entire exit plan. Keep diagrams as text — DOT, Mermaid, or JSON you have documented — and abandoning the app costs nothing, because Graphviz and half a dozen other tools will still render them. Keep drawings in a proprietary blob and you have built a small archive nobody can open, which is the way most homemade diagram tools actually end. Export every diagram to SVG on a schedule and store it next to the source.
The mature open-source general diagramming app, with the shape libraries and file interchange already done.
Open-source diagram canvas with an approachable interaction model and a readable file format.
Diagrams defined as text and laid out automatically, which is the half of SmartDraw's pitch you get for free.
Questions
How is this different from the Lucidchart entry?
Lucidchart's is about the interaction problem — connectors, snapping, undo with two cursors. SmartDraw's differentiator is automation and industry symbols: it wants to build the diagram for you and it sells depth in specific trades. That shifts where the difficulty sits. The layout half gets easier, because free engines already do it well, and the domain half gets harder, because a symbol set is a standards commitment rather than a drawing task.
Is the scale thing overstated?
SmartDraw explicitly sells scaled drawing over imported PDFs and maps, so a real share of its output is dimensional. Anything dimensional has a failure mode general diagram tools do not: a drawing that looks right and measures wrong. It is not dangerous in the regulated sense, it is just the one bug in this category that costs money outside your computer, and it is cheap to guard against with a round-trip test.
So what should I actually build?
A generator. Take the data you already have — a services list, a Terraform state, a team roster — pipe it through Graphviz or Mermaid, and commit the SVG. You get most of what SmartDraw's automation promises, the output is diffable, and nothing has to be redrawn when the underlying thing changes.
Every week, someone ships something they shouldn’t have.
New verdicts, the worst thing that landed in the trap, and the occasional incident report. No other email, ever.
Boxes and arrows is an afternoon. Arrows that stay attached when you move the box is a career.
Boxes and arrows are a weekend. The stencil library, the Visio import and the print layout are the product.
A whiteboard whose shapes carry fields is a database with a canvas on top. That is two products, not one.
last reviewed 2026-08-05 · verdict is editorial and unsponsored · shared entry data from canivibecodeit under MIT · not legal advice