Production VPC
Web frontend, core API and reporting pipeline
Production VPC
Public subnet
Private subnet
Data subnet
User
ALB
Application Load Balancer
web-frontend
ECS service
4Tasks
core-api
ECS service
6Tasks
report-worker
AWS Lambda
Aurora PostgreSQL
RDS cluster
OpenSearch
Search domain
S3 reports bucket
Object storage
Sentry
Error tracking
nightly
diagram.html#The link keeps the view, selection, route and playback.
What the agent was asked
“Turn this Mermaid into a stackmap diagram.”
Written by a coding agent in the skill’s eval: it read the request, wrote the JSON, validated it and delivered the file.
Read about architecture diagramsThe JSON
{ "kind": "architecture", "title": "Production VPC", "subtitle": "Web frontend, core API and reporting pipeline", "direction": "DOWN", "groups": [ { "id": "vpc", "label": "Production VPC" }, { "id": "pub", "label": "Public subnet", "parent": "vpc" }, { "id": "priv", "label": "Private subnet", "parent": "vpc" }, { "id": "data", "label": "Data subnet", "parent": "vpc" } ], "nodes": [ { "id": "user", "type": "client", "card": { "title": "User" } }, { "id": "lb", "type": "gateway", "group": "pub", "card": { "title": "ALB", "subtitle": "Application Load Balancer" } }, { "id": "web", "type": "service", "group": "priv", "card": { "title": "web-frontend", "subtitle": "ECS service", "stats": [{ "value": "4", "label": "Tasks" }] } }, { "id": "api", "type": "service", "group": "priv", "card": { "title": "core-api", "subtitle": "ECS service", "stats": [{ "value": "6", "label": "Tasks" }] } }, { "id": "worker", "type": "service", "group": "priv", "card": { "title": "report-worker", "subtitle": "AWS Lambda" } }, { "id": "rds", "type": "database", "group": "data", "card": { "title": "Aurora PostgreSQL", "subtitle": "RDS cluster", "brand": "postgresql" } }, { "id": "es", "type": "database", "group": "data", "card": { "title": "OpenSearch", "subtitle": "Search domain", "brand": "opensearch" } }, { "id": "s3", "type": "storage", "card": { "title": "S3 reports bucket", "subtitle": "Object storage" } }, { "id": "sentry", "type": "external", "card": { "title": "Sentry", "subtitle": "Error tracking", "brand": "sentry" } } ], "edges": [ { "id": "user-lb", "from": "user", "to": "lb" }, { "id": "lb-web", "from": "lb", "to": "web" }, { "id": "web-api", "from": "web", "to": "api" }, { "id": "api-worker", "from": "api", "to": "worker" }, { "id": "api-rds", "from": "api", "to": "rds" }, { "id": "api-es", "from": "api", "to": "es" }, { "id": "worker-s3", "from": "worker", "to": "s3", "kind": "async", "label": "nightly" }, { "id": "api-sentry", "from": "api", "to": "sentry" } ]}More architecture examples
All examples- Sample web appArchitecture10 nodes
- Production deployment ownershipArchitecture12 nodes
- Food Delivery PlatformArchitecture16 nodesWritten by an agent“Draw our food-delivery platform. Customers use an iOS app and a React web app. Both go through an API gateway (Kong) to four services: accounts, restaurants, orders and a dispatch service that assigns couriers. Orders and accounts use a shared Postgres cluster (one primary, two read replicas); restaurants has its own MongoDB. Orders publishes events to Kafka; dispatch and a notifications worker consume them. Notifications sends push through Firebase and SMS through Twilio. Sessions and rate limits live in Redis. Payments go from orders to Stripe. Auth is Auth0. Add a view for the order path.”
- BookshopArchitecture10 nodesWritten by an agent“Update the bookshop diagram: we added a search service (search-api) that the shop API queries over HTTP, backed by Elasticsearch. Put Stripe into a new 'Third parties' group, and add search to the checkout path view since the storefront uses it before buying.”