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.
Leia também
- Caso de Uso
Acompanhando a Evolução de Exames Médicos ao Longo do Tempo com File Links
Quando laudos ficam enterrados em pastas organizadas por data junto com dezenas de imagens, comparar resultados ao longo do tempo se torna tedioso. O recurso File Links do Sutram cria pastas centralizadas de Laudos com referências simbólicas nomeadas por data — sem duplicação de arquivos, sem reestruturação.
- Caso de Uso
Corrigindo Documentação com IA e o Sutram MCP Server
Como usamos o MCP Server para encontrar, comentar, corrigir e versionar seu próprio guia de usuário — sem sair do terminal
- Caso de Uso
Codificação de Documentos Técnicos com IA e MCP
Como o Claude Code e o Sutram MCP Server transformaram uma norma de 30 páginas em um sistema funcional em minutos