Talk · 30 min · Demo ao vivo

Da linguagem natural
ao Terraform pronto pra produção na AWS.

// Como uma IA Open Source desenha, precifica e provisiona arquiteturas AWS

OpenArchFlow · v0.8.2 · AI-Powered AWS Architecture Diagram Generator
github.com/dmux/OpenArchFlow · MIT License
Agenda

30 minutos

  • O problemaPor que arquitetar na AWS ainda dói em 2026.
  • O que é OpenArchFlowPWA open source, local-first, dual-AI, zero backend.
  • Demo ao vivoDo prompt ao diagrama, ao custo, ao Terraform — em 12 minutos.
  • Como funciona por dentroGemini + WebLLM + MCP + IaC abstraction.
  • Quando usar (e quando não)+ roadmap, contribuição e Q&A.
O Problema

Desenhar arquitetura AWS é
caro, lento e desconectado.

01

Diagramas que mentem

Draw.io, Lucidchart, Excalidraw — ótimas ferramentas de desenho. Mas o diagrama não sabe quanto custa, nem vira código.

02

Custos descobertos na fatura

Estimar EC2 + RDS + Lambda + S3 antes do deploy é trabalho manual de horas — quando alguém faz.

03

Do desenho ao IaC: retrabalho

Aprovou a arquitetura? Agora reescreva tudo em Terraform/CDK na unha. Drift garantido entre Confluence e main.tf.

Resultado: a documentação envelhece em horas, o custo é surpresa, e o IaC vira o "trabalho real" depois da reunião.

A Proposta

E se o diagrama fosse a fonte da verdade?

Prompt em linguagem natural Diagrama interativo Custo mensal estimado Terraform .tf

Um único artefato — editável, versionável, exportável — que carrega desenho, custo e infraestrutura como código na mesma fonte.

O Produto

OpenArchFlow em uma frase.

Um PWA open source que transforma descrições em linguagem natural em diagramas AWS interativos — com custo estimado e Terraform exportável.

100% Client-side
2 AI engines (cloud + local)
60+ Resources Terraform
MIT License
Pilares de design

4 escolhas que mudam tudo.

🔒 Local-first & privacy-first

Todos os diagramas vivem em localStorage/IndexedDB. Sem cadastro, sem telemetria, sem backend de armazenamento. Você é dono dos seus desenhos.

🤖 Dual AI Engine

Cloud AI com Gemini 2.5 Flash para velocidade. Local AI com WebLLM (Phi-3-mini via WebGPU) para uso offline e dados sensíveis — sem API key.

💰 Custo no momento certo

Integração direta com a AWS Price List API. Bill of Materials consolidada, exportável em CSV, antes de qualquer terraform apply.

🏗️ IaC pluggable

Interface IaCGenerator abstrata. Hoje gera Terraform; amanhã CDK, Pulumi ou CloudFormation — sem modificar a UI.

Live Demo

Hora de ver
funcionando.

// 12 minutos · 7 funcionalidades · 1 arquitetura real

Roteiro da Demo

O que vamos ver, na ordem.

  • Geração com IAPrompt → diagrama AWS auto-organizado.
  • Edição visualDrag-and-drop, agrupamento por VPC/Subnet, alinhamento.
  • Custo em tempo realBOM, configuração por nó, export CSV.
  • Simulação de tráfegoLatência, falhas, fault injection.
  • Export Terraformmain.tf, variables.tf, outputs.tf — pronto pra produção.
  • Colaboração P2PLink E2EE, WebRTC, sem servidor central.
  • MiniStack — Deploy localDo diagrama ao AWS emulado em localhost — sem conta AWS, sem custo.
Demo

Geração com IA

Do prompt ao diagrama em segundos.

Input

API serverless de processamento
de pedidos com:

- API Gateway na borda
- Lambda de validação
- DynamoDB de pedidos
- SQS para fanout
- Lambda worker
- S3 para anexos
- Tudo numa VPC com 2 AZs

O que a IA faz

  • Identifica 7 serviços AWS canônicos
  • Aplica AWS Documentation MCP para best-practices
  • Conecta os nós com edges semânticos
  • Agrupa em VPC + Availability Zones
  • Auto-layout com algoritmo dagre

⚡ Modo incremental: pedir "adicione um CloudFront na frente" não recomeça do zero — a IA modifica o diagrama existente.

Demo

Edição visual

Quando a IA acerta 80%, você refina os 20%.

📦 Grupos AWS prontos

VPC, Subnet pública/privada, AZ, Region, On-Premises, Security Zone — pré-estilizados, paridade com draw.io.

⌨️ Atalhos de produtividade

Ctrl+Z/Y, Ctrl+C/V/D, Ctrl+L auto-layout, Ctrl+A select all, Ctrl+? help.

📐 Alinhamento Figma-style

Snap-to-grid 16px, smart guides durante drag, alignment toolbar para 2+ nós selecionados.

🎨 Style panels

Cor, borda, opacidade, roteamento de edges (smooth/straight/step/bezier), linhas tracejadas.

📚 Templates & bibliotecas

Three-Tier, Serverless API, Event-Driven, Microservices, Data Lake, ML Pipeline, DR Multi-Region.

🗂️ Camadas (Layers)

Mostrar/ocultar/lock por camada — separe rede, compute e dados em vistas independentes.

Demo

Custo em tempo real

Antes do apply, depois do desenho.

Como funciona

  • Cada nó AWS expõe um painel de configuração de uso
  • Region, instance type, GB de storage, requests/mês
  • Consulta direta à AWS Price List API (us-east-1 endpoint, dados globais)
  • Cobertura: EC2, RDS, Lambda, S3, EFS, SQS
  • Bill of Materials consolidada com total mensal
  • Export CSV pra colar na proposta comercial

BOM de exemplo

RESOURCE              QTY   USAGE         USD/MO
─────────────────────────────────────────────────
API Gateway HTTP       1    1M req/mo      $1.00
Lambda (validate)      1    1M @ 256MB     $0.83
Lambda (worker)        1    1M @ 512MB     $1.67
DynamoDB On-Demand     1    50GB + 1M wr   $14.20
SQS Standard           1    1M msg         $0.40
S3 Standard            1    100GB          $2.30
─────────────────────────────────────────────────
TOTAL ESTIMADO                            $20.40 /mo

Valores ilustrativos · cálculo real é live na API.

Demo

Simulação de tráfego & falhas

O diagrama vira um laboratório.

🌊 Live traffic visualization

Edges pulsam em verde (active), vermelho (error) ou laranja (throttled). 1×, 2×, 5× multiplier.

📊 Métricas por nó

Requests, error %, p95 de latência, cache hit %, custo cumulativo. Tabela exportável.

🔬 Trace viewer

Waterfall por requisição, hop a hop, com latência e status — estilo X-Ray, mas no browser.

💀 Fault injection

Botão Kill / Restore em qualquer nó. Ajuste latência e failure rate ao vivo, durante a simulação.

Templates como Serverless Circuit Breaker e ECS + App Mesh já vêm com falhas configuradas para você ver o circuito abrindo na hora.

Demo

Export Terraform

Do diagrama para .tf em um clique.

terraform {
  required_providers {
    aws = { source = "hashicorp/aws", version = "~> 5.0" }
  }
}

provider "aws" {
  region = var.aws_region
}

resource "aws_lambda_function" "validate_order" {
  function_name = "validate-order"
  role          = aws_iam_role.lambda_exec.arn
  handler       = "index.handler"
  runtime       = "nodejs20.x"
  memory_size   = 256
}

resource "aws_dynamodb_table" "orders" {
  name         = "orders"
  billing_mode = "PAY_PER_REQUEST"
  hash_key     = "order_id"
  attribute { name = "order_id"; type = "S" }
}

resource "aws_sqs_queue" "fanout" {
  name = "order-fanout"
}

# depends_on inferido a partir das edges do diagrama

resource "aws_apigatewayv2_route" "post_orders" {
  api_id    = aws_apigatewayv2_api.http.id
  route_key = "POST /orders"
  target    = "integrations/${aws_apigatewayv2_integration.lambda.id}"
  depends_on = [aws_lambda_function.validate_order]
}
Por trás do export

Não é template-string. É schema-aware.

60+ mappings AWS → Terraform

EC2, Lambda, RDS, DynamoDB, S3, VPC, ALB, API Gateway, CloudFront, Route 53, SQS, SNS, EKS, ECS, ElastiCache, ECR…

3 arquivos, organização padrão

main.tf (resources + provider) · variables.tf · outputs.tf — direto pro terraform init.

AI-enhanced via MCP

Endpoint /api/generate-terraform combina Gemini 2.5 Flash com o HashiCorp Terraform MCP server — IAM roles e security groups vêm de schemas reais.

Editor Monaco com HCL

Syntax highlighting, bracket matching, snippets. Temas terraform-dark e terraform-light, fullscreen, copy & download.

Per-node IaC config: sobrescreva o tipo de recurso e o nome direto no Properties Panel — o que aparece como aws_lambda_function.validate_order no HCL.

Demo

Colaboração P2P em tempo real

Sem servidor central. Zero-knowledge.

Browser A ⟷ WebRTC ⟷ Yjs CRDT Browser B

Como funciona

  • Sincronização direta browser-to-browser via WebRTC
  • CRDT (Yjs) resolve conflitos sem coordenação
  • Chave de criptografia vai no #fragment da URL
  • Servidor de signaling nunca recebe a chave
  • Cursores remotos com nome do peer

O que isso significa

Você desenha com ses pares em tempo real, compartilhando um link, e nem o servidor de signaling consegue ler o conteúdo do diagrama.

Para uma ferramenta de arquitetura corporativa, isso muda a conversa de compliance.

Demo

MiniStack — Deploy Local

Do diagrama ao AWS emulado em localhost.

Como começar

docker run -p 4566:4566 \
  ministackorg/ministack

Clique no ícone Rocket na toolbar, configure o endpoint e pressione Deploy All. Status por nó atualiza em tempo real.

Capacidades principais

  • Deploy All com um clique — badges de status por nó
  • Console interativo por nó: S3 browser, Lambda invoker, SQS reader…
  • Modo híbrido — simulação usa latência real do MiniStack
  • Traffic Source — gera req/s configurável direto do canvas
  • Teardown — remove todos os recursos com um clique
  • SDK v3 do browser direto para localhost:4566 — funciona até no Vercel

Serviços suportados

S3

Bucket · listar, upload, delete

Lambda

Invocar, editar config, logs ao vivo

DynamoDB

Tabela · scan, put item

SQS / SNS

Enviar, receber, publicar

API Gateway

REST API + rotas + stage · testar endpoints

+ mais

EventBridge, Kinesis, IAM, KMS, Secrets Manager, SSM, CloudWatch Logs

Sem conta AWS · Sem custo de nuvem · 100% local

Sob o capô

Como isso
funciona?

// stack, fluxo de dados e a abstração que torna tudo plugável

Stack

Backend? Quase nenhum.

Frontend

Next.js 16+ App Router TypeScript Tailwind + shadcn/ui React Flow dagre Zustand + zundo Monaco + HCL

IA & integrações

Google Gemini 2.5 Flash WebLLM (Phi-3-mini) WebGPU AWS Price List API AWS Documentation MCP Hashicorp Terraform MCP server

Colaboração

Yjs (CRDT) y-webrtc Signaling em Fly.io

Persistência

localStorage IndexedDB JSON export/backup Google Drive

Deploy local (MiniStack)

MiniStack SDK v3 AWS SDK for JS (browser) LocalStack-compatible API Docker (localhost:4566)
A peça-chave

A abstração IaCGenerator.

// src/lib/iac/types.ts
export interface IaCGenerator {
  readonly name: string;          // "terraform" | "cdk" | "pulumi"
  readonly fileExtension: string; // ".tf" | ".ts" | ".py"

  generate(
    nodes: AppNode[],
    edges: AppEdge[],
    options?: IaCGenerationOptions
  ): Promise<IaCFileSet>;

  supportsResource(awsServiceType: string): boolean;
}

// src/lib/iac/terraform/generator.ts
export class TerraformGenerator implements IaCGenerator {
  name = "terraform";
  fileExtension = ".tf";

  async generate(nodes, edges) {
    const resources    = nodes.map(n => mapToResource(n));
    const dependencies = inferDependsOn(edges);
    return {
      "main.tf":      renderMain(resources, dependencies),
      "variables.tf": renderVariables(resources),
      "outputs.tf":   renderOutputs(resources)
    };
  }
}

Adicionar Pulumi amanhã = uma nova classe. A UI não muda.

Pipeline

O fluxo end-to-end.

Cliente escolhe Cloud AI ou Local AI (toggle no toolbar) Usuário digita prompt → "API serverless com Lambda + DynamoDB" Gemini 2.5 Flash recebe prompt + contexto MCP de AWS Docs → JSON estruturado Parser monta AppNode[] + AppEdge[] → Zustand store React Flow renderiza · dagre auto-organiza · Yjs sincroniza com peers Pricing provider consulta AWS Price List API para cada nó AWS Usuário clica Export Terraform → POST /api/generate-terraform Endpoint chama Gemini + Terraform MCP server → HCL com schema real Monaco renderiza HCL com 3 abas · botão download · zero backend
Velocidade de evolução

De fevereiro a maio, 8 releases.

  • fev/26 — FundaçãoCanvas, dual AI, AWS docs MCP, simulação básica.
  • abr/26 — AWS GroupsVPC, Subnets, AZ, Region · +30 serviços.
  • abr/26 — PricingAWS Price List API, BOM panel, CSV export.
  • abr/26 — Colaboração P2PYjs + WebRTC · E2EE com chave no fragmento da URL.
  • maio/26 — Editor pesadoUndo/redo, atalhos, alinhamento, ER, UML, swimlane.
  • maio/26 — Simulação 2.0Live traffic, fault injection, métricas, traces.
  • maio/26 — TerraformHCL generation, Monaco, MCP integration, IaC abstraction.
  • maio/26 — MiniStack DeployDeploy local · console interativo por nó · modo híbrido.
Honestidade

Quando
usar (e quando não).

Sweet spot vs limites

Onde brilha. Onde ainda não.

✓ Use quando…

  • Você está em fase de discovery / arquitetura inicial
  • Precisa apresentar opções com custo a um stakeholder
  • Quer um scaffold Terraform pra evoluir, não copiar
  • Faz workshops de design com colaboração ao vivo
  • Quer prototipar circuit breakers, retry, fallback sem deploy
  • Trabalha com dados sensíveis e precisa de IA local

✗ Não use quando…

  • Você precisa de módulos Terraform organizacionais com convenções específicas
  • Sua arquitetura tem dezenas de contas, OUs e SCPs (Landing Zone real)
  • Você quer plan/apply automatizado — OpenArchFlow gera, não executa
  • Custos precisam ser auditados em centavos (use AWS Cost Explorer + Pricing Calculator oficial)
  • Compliance exige diagrama em ferramenta corporativa específica

A regra: OpenArchFlow é o cartão de visita da arquitetura. Não substitui pipelines de IaC maduros — acelera o caminho até eles.

O que vem por aí

Roadmap aberto — e contribuível.

🛠️ CDK + Pulumi

A interface IaCGenerator já está pronta. Falta implementar e mapear os recursos.

🌍 Multi-cloud first-class

Azure já tem nós e templates. Próximo: pricing + IaC paridade com AWS.

🧪 Testes automatizados

Unit + integration tests é uma das maiores oportunidades de PR para a comunidade.

🌐 i18n

UI hoje em inglês. Português, espanhol e japonês são próximos candidatos.

📱 Mobile

PWA já instala. Falta UX touch-first e gesture handling para tablets.

🤖 Mais providers de IA

Anthropic Claude, modelos locais via Ollama, e fine-tuning para AWS Solutions Architect specs.

Como participar

Quatro formas de contribuir hoje.

Estrela

github.com/dmux/
OpenArchFlow

🐛

Issue

Reportar bugs ou sugerir melhorias que faltam no seu fluxo.

🔀

PR

Conventional commits · ESLint · changelog em [Unreleased].

📢

Compartilhe

Mostre pra um arquiteto cloud que ainda mantém diagramas no PowerPoint.

// Built by Rafael Sales · MIT License · construído por arquitetos para arquitetos

Fim · 30 min

Obrigado.
Perguntas?

repo → github.com/dmux/OpenArchFlow
app → openarchflow.cloud
version → v0.8.0 · MiniStack Deploy

↑ ↓ ← → para navegar · S para speaker notes · F para fullscreen · ? para todos os atalhos