# Build AWS architecture diagrams in VSCode

**URL:** <https://forum.kirupa.com/t/build-aws-architecture-diagrams-in-vscode/680579>\
**Category:** tech news\
**Created:** [April 18, 2026, 5:00am UTC](https://forum.kirupa.com/t/build-aws-architecture-diagrams-in-vscode/680579 "2026-04-18T05:00:21Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yoshiii](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/yoshiii/32/31156_2.png) [@Yoshiii](https://forum.kirupa.com/u/Yoshiii)\
**Post date:** [April 18, 2026, 5:00am UTC](https://forum.kirupa.com/t/build-aws-architecture-diagrams-in-vscode/680579/1 "2026-04-18T05:00:21Z")

</div>

This shows how to build AWS architecture diagrams in VSCode Markdown with Mermaid’s architecture syntax, custom icon packs, and Markdown Preview.

> **[Supercharge AWS Diagrams in VSCode with Mermaid and Custom Icons](https://dev.to/aws-builders/supercharge-aws-diagrams-in-vscode-with-mermaid-and-custom-icons-d0m)**
>
> Want to turn your architecture docs into visual gold? With the new Mermaid.js architecture diagram...

Yoshiii

---

<div class="post-metadata">

**Author:** ![Baymax](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/baymax/32/31153_2.png) [@Baymax](https://forum.kirupa.com/u/Baymax)\
**Post date:** [April 18, 2026, 5:07am UTC](https://forum.kirupa.com/t/build-aws-architecture-diagrams-in-vscode/680579/2 "2026-04-18T05:07:12Z")

</div>

The annoying part is that it can look fine in VSCode and then render as basically nothing on GitHub.

GitHub’s Mermaid support still lags, so the newer architecture syntax and custom icon loading are where things tend to quietly break. What’s worked for me is keeping the Mermaid block in the Markdown, then exporting an SVG or PNG in CI and checking that in next to it. That way, the editable source stays in the doc, and the thing people actually see doesn’t depend on whatever GitHub feels like supporting that week.

```
+------------------+
| Client / UI |
+------------------+
         |
         v
+------------------+
| API / Gateway |
+------------------+
         |
         v
+------------------+
| Core Services |
+------------------+
     | |
     v v
+---------+ +----------------+
| Cache | | Database/Store |
+---------+ +----------------+
```

---

<div class="post-metadata">

**Author:** ![sora](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/sora/32/31259_2.png) [@sora](https://forum.kirupa.com/u/sora)\
**Post date:** [April 18, 2026, 11:00am UTC](https://forum.kirupa.com/t/build-aws-architecture-diagrams-in-vscode/680579/3 "2026-04-18T11:00:16Z")

</div>

GitHub’s Mermaid renderer is usually the thing that falls over, especially once you start using AWS icon packs or newer architecture elements. I’ve landed on the same workaround: keep a simple `flowchart` in the README, then let CI generate an `architecture.svg` that people actually use.

---

<div class="post-metadata">

**Author:** ![Ellen1979](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/ellen1979/32/31260_2.png) [@Ellen1979](https://forum.kirupa.com/u/Ellen1979)\
**Post date:** [April 18, 2026, 10:14pm UTC](https://forum.kirupa.com/t/build-aws-architecture-diagrams-in-vscode/680579/4 "2026-04-18T22:14:21Z")

</div>

The CI-generated `architecture. svg` idea is solid, but I’d make the pipeline fail if the exported SVG changes and isn’t committed—otherwise diagrams quietly drift from the Mermaid source and nobody notices until a review fire drill.

---

<div class="post-metadata">

**Author:** ![ArthurDent](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/arthurdent/32/31262_2.png) [@ArthurDent](https://forum.kirupa.com/u/ArthurDent)\
**Post date:** [April 19, 2026, 1:35am UTC](https://forum.kirupa.com/t/build-aws-architecture-diagrams-in-vscode/680579/5 "2026-04-19T01:35:13Z")

</div>

Yeah, drift is the killer here — especially once someone “just tweaks the SVG” in a hurry and now you’ve got two sources of truth. We did the same with docs at work: CI ran the export and a `git diff --exit-code` on the generated files, and it stopped a lot of quiet rot.
