Como Usamos o Sutram para Manter Nosso Próprio Site
Dogfooding no melhor estilo: o Sutram serve seu proprio blog e documentacao em seis idiomas
A premissa
Existe um ditado no mundo do software: se voce nao usaria o seu proprio produto, por que outra pessoa usaria? No Sutram, levamos isso a serio. Nosso site institucional — este que voce esta lendo agora — e inteiramente alimentado pela propria infraestrutura de conteudo do Sutram.
Cada post de blog, cada pagina de documentacao, cada conteudo que voce ve aqui e armazenado, organizado e servido a partir de um projeto Sutram. Isso nao e uma demo. E producao.
A arquitetura
O site e construido com Astro, um gerador de sites estaticos moderno. No momento do build, o Astro chama a API REST do Sutram para buscar todo o conteudo, renderiza tudo em HTML estatico e faz o deploy na Netlify. Sem dependencias em tempo de execucao, sem consultas a banco de dados no carregamento da pagina — apenas paginas rapidas e pre-construidas.
O fluxo de conteudo funciona assim:
Projeto Sutram
└── /{lang}/Blog/{ano}/{slug-do-post}/
│ ├── post.md (corpo em markdown)
│ └── cover.jpg (imagem de capa, opcional)
└── /{lang}/Docs/{categoria}/{slug-do-doc}/
└── guide.md (corpo em markdown)
↓ API REST do Sutram ↓
Astro (build time)
→ busca pastas + tags
→ baixa arquivos markdown
→ converte imagens de capa para WebP
→ renderiza em HTML estatico
↓ deploy ↓
Netlify (CDN)
Seis idiomas, uma unica estrutura
O site suporta seis idiomas: ingles, portugues, espanhol, frances, alemao e italiano. Em vez de manter sistemas de conteudo separados ou duplicar hierarquias de pastas, usamos uma convencao simples: o idioma e a raiz.
/en/Blog/2026/how-we-use-sutram/
/pt/Blog/2026/como-usamos-o-sutram/
/es/Blog/2026/como-usamos-sutram/
Cada idioma tem sua propria pasta de Blog e Docs no Sutram. O cliente da API mapeia codigos de idioma para IDs de pastas e busca o conteudo correspondente — sem filtragem por tags, sem logica de roteamento complexa. O caminho da pasta e o idioma.
As strings de interface do site (navegacao, botoes, labels) sao tratadas separadamente via arquivos JSON de traducao, mas todo o conteudo substantivo — os posts e documentacoes que voce de fato le — vive no Sutram.
Metadados como tags
Cada pasta de conteudo no Sutram carrega metadados como tags — pares simples de chave-valor associados a propria pasta:
| Tag | Finalidade |
|---|---|
title |
Titulo de exibicao do post ou documento |
author |
Nome do autor do post |
excerpt |
Descricao curta para listagens e SEO |
category |
Categoria do conteudo (ex.: "Engenharia", "Produto") |
published_at |
Data de publicacao (controla visibilidade e ordenacao) |
Essa e uma das funcionalidades centrais do Sutram: metadados estruturados em qualquer pasta, sem schemas rigidos. O cliente da API le essas tags para construir paginas de listagem, filtros por categoria e feeds RSS — tudo no momento do build.
Imagens de capa com otimizacao automatica
Posts de blog podem incluir uma imagem de capa como um arquivo dentro da pasta do post. Durante o build, o cliente Astro:
- Detecta o primeiro arquivo de imagem na pasta
- Faz o download pela API do Sutram
- Converte para o formato WebP usando
sharp - Redimensiona para 1200x630 (otimizado para compartilhamento em redes sociais)
- Salva no diretorio de saida estatica
Isso significa que os autores so precisam colocar uma imagem na pasta do Sutram — sem redimensionamento manual, sem conversao de formato, sem configuracao de CDN.
Gerenciando conteudo com IA e MCP
E aqui que as coisas ficam interessantes. Nos nao usamos uma interface de CMS tradicional para escrever e publicar conteudo. Em vez disso, usamos o Claude Code com o Sutram MCP Server.
O fluxo de trabalho:
- Escrever ou traduzir um post em markdown (frequentemente com a ajuda do Claude Code)
- Criar a pasta de destino no Sutram via
sutram_create_folder - Definir as tags de metadados via
sutram_set_folder_tags - Fazer upload do arquivo markdown via
sutram_request_upload+sutram_confirm_upload - Disparar um build na Netlify
Tudo isso acontece pelo terminal, em uma unica sessao de conversa. Sem navegador, sem campos de formulario, sem copiar e colar. O agente de IA le o conteudo, cria a estrutura de pastas, define as tags, faz o upload do arquivo, e o site se reconstroi automaticamente.
Este proprio post foi escrito, traduzido para portugues e publicado no Sutram usando exatamente esse fluxo.
O cliente da API
O coracao da integracao e um unico arquivo TypeScript (sutram.ts) que serve como ponte entre o Sutram e o Astro. Ele cuida de:
- Descoberta de conteudo — percorre recursivamente as pastas do Sutram para encontrar registros de conteudo (qualquer pasta com uma tag
title) - Busca de markdown — baixa o primeiro arquivo
.mdde cada pasta de conteudo - Processamento de imagens — converte imagens de capa para WebP otimizado
- Fallback com dados mock — retorna conteudo placeholder quando as credenciais da API nao estao configuradas (para desenvolvimento local)
O cliente tem cerca de 460 linhas de TypeScript. Sem framework, sem ORM, sem camadas de abstracao — apenas chamadas fetch para a API do Sutram e sharp para processamento de imagens.
Por que isso importa
Dogfooding nao e apenas uma questao de credibilidade. Nos obriga a experimentar as mesmas dificuldades que nossos usuarios enfrentam. Cada aresta do API, cada funcionalidade que falta, cada comportamento confuso — nos sentimos primeiro.
Algumas coisas que descobrimos e melhoramos ao usar o Sutram no nosso proprio site:
- Deteccao de conteudo baseada em tags funciona melhor do que convencoes rigidas de nomeacao de pastas
- Travessia recursiva de pastas e essencial para hierarquias de conteudo flexiveis
- O MCP Server torna o gerenciamento de conteudo pelo terminal nao apenas possivel, mas preferivel para equipes tecnicas
- Pastas raiz por idioma sao mais simples do que filtragem de idioma por tags
Os numeros
| Metrica | Valor |
|---|---|
| Idiomas suportados | 6 (en, pt, es, fr, de, it) |
| Tipos de conteudo | 2 (Posts de blog, Documentacao) |
| Chamadas de API por build | ~20-30 |
| Tempo de build | < 30 segundos |
| JavaScript em tempo de execucao | 0 (HTML estatico) |
| Interface de CMS utilizada | Nenhuma (MCP + terminal) |
Conclusao
Usar o Sutram para alimentar nosso proprio site e a declaracao mais forte que podemos fazer sobre a plataforma. Nao e um projeto de brinquedo nem uma prova de conceito — e o sistema de producao que serve cada pagina que voce ve aqui.
Se o seu conteudo precisa de estrutura, sua equipe precisa de controle e seu fluxo de trabalho se beneficia de automacao — o Sutram foi construido exatamente para isso. E provamos isso todos os dias, a comecar por esta propria pagina.