Frontends com Vibecoding · Capítulo 25 de 35 · 38 min
Construir o projeto final, medir a cara de IA e revisar
Você entrega o projeto final em três pedidos, mede a cara de IA em sete dimensões e passa a tela por um checklist de defeito com antídoto nomeado.
Este capítulo faz parte do curso gratuito Frontends com Vibecoding.
Um gráfico que some no tema escuro e um filtro que volta ao padrão a cada recarga são anti-padrões: soluções que parecem certas e cobram o preço depois. A demonstração esconde os dois, e o primeiro dia de uso revela os dois.
Toda tela que sai de uma conversa com um agente esconde o mesmo risco: o de parecer pronta sem estar. Agente é o assistente de inteligência artificial que escreve o código por você.
Um checklist por família de defeito resolve isso. Ele nomeia o sintoma que aparece na tela, o antídoto que você pede ao agente e a contraprova do que a entrega boa tem.
Ao terminar, você aprova ou devolve uma tela gerada por IA dando nome ao defeito e pedindo o antídoto, em vez de dizer "está com cara de IA". Tempo de leitura: cerca de 38 minutos, e a revisão de uma tela real, mais 15.
Os defeitos de código vêm primeiro porque não aparecem na tela. A key pelo índice (o crachá que o React dá a cada item) prende a marcação ao lugar: ordene a lista e o destaque cai em outro produto. O antídoto é o identificador do próprio dado como crachá.
Ver como texto
Cenário ilustrativo com três colunas de uma lista de produtos. Na lista inicial, a Torta está marcada na segunda posição. Depois de ordenar de A a Z, a coluna com key pela posição mantém a marcação na segunda posição, que agora é o Pão: o destaque caiu em outro produto. A coluna com key pelo id do dado leva a marcação junto da Torta, agora na terceira posição: o destaque segue o item certo.
A biblioteca inventada (o pacote pronto que o agente importa) soa real e não existe no registro público: roda na sua máquina e quebra na reinstalação do zero. O terceiro é aceitar código sem ler: funcionou, mas ninguém explica por quê. Peça a explicação de cada trecho que não for óbvio e confirme cada dependência nova no registro do npm.
Outro defeito frequente é a escolha insegura. A Veracode publicou, em julho de 2025, um teste com mais de 100 modelos, em situações montadas para admitir uma saída segura e uma insegura.
O código gerado trouxe falha do OWASP Top 10 em 45% dos casos, e a injeção de conteúdo na página, o XSS, passou de 85% de falha. Por isso todo trecho que injeta conteúdo dinâmico entra na revisão manual.
As famílias de dado e gráfico são as que mais enganam quem aprova, porque a tela impressiona. Um painel com 40 indicadores e nenhuma decisão é bonito na demonstração e ninguém abre na segunda semana. Drill-down (abrir o número em partes) infinito no relatório de conselho e métrica sem fonte, meta, base de comparação ou dono são a mesma doença.
Velocímetro para tudo, pizza com muitas fatias e 3D decorativo impressionam sem esclarecer. No relatório de marketing, faltar custo de aquisição, prazo de retorno, incrementalidade e qualidade do funil transforma o relatório em enfeite. O BI embutido (o painel de outro sistema colado na sua tela) sem camada de narrativa deixa o leitor sozinho com os gráficos.
Ver como texto
Duas metades comparam painéis. À esquerda, o painel de enfeite: uma grade de 40 quadradinhos, um por indicador, sem nenhuma decisão, que ninguém abre na segunda semana. À direita, o relatório de marketing que decide: uma pergunta no topo e quatro medidas embaixo, custo de aquisição, prazo de retorno, incrementalidade e qualidade do funil.
As famílias técnicas dão sintoma na tela. Markdown cru (texto com marcas de asterisco e cerca) dentro do HTML quebra no celular; peça pre ou tabela. Gráfico em caixa oculta ou de largura zero aparece em branco, sem erro; SVG chamado como imagem ignora as cores do tema e some no escuro.
Classe do Tailwind (as classes utilitárias de estilo) montada por concatenação some no build, porque o compilador só enxerga texto literal. Conexão aberta sem fila de mensagens trava a tela quando o servidor acelera. PDF gerado de forma síncrona derruba o servidor em produção, e fonte remota num documento confidencial avisa o Google de que ele foi aberto.
O rótulo de menu de aplicativo numa navegação simples confunde o teclado. Aba, filtro e paginação fora do endereço da página se perdem ao recarregar, e a rolagem infinita apaga o rodapé que buscador e leitor de tela precisam.
| Família | Sintoma na tela | Antídoto que você pede |
|---|---|---|
| Código | Funcionou e ninguém explica por quê | Explicação de cada trecho não óbvio antes de aprovar |
| Código | Pacote importado que o npm não encontra | Confirmar cada dependência no registro, na versão citada |
| Código | Ordenar a lista move a marcação para outro item | Identificador do dado como key, no lugar da posição |
| Painel e métrica | 40 indicadores e nenhuma decisão; ninguém abre na segunda semana | Uma pergunta por tela; cortar o número que não sustenta a decisão |
| Painel e métrica | Número sem fonte, meta, base ou dono; abrir em partes sem fim | Fonte, definição, data e dono a dois cliques; profundidade limitada |
| Gráfico | Velocímetro em tudo, pizza de muitas fatias, 3D de enfeite | Barra com meta, cascata para variação, tabela alternativa |
| Gráfico | Área em branco onde o gráfico deveria estar | Largura e altura definidas no contêiner antes de desenhar |
| Gráfico | SVG some no tema escuro | SVG inline com cor por variável do tema, em vez de img |
| Marketing report | Sem custo de aquisição, prazo de retorno, incrementalidade ou qualidade do funil | As quatro medidas e uma camada de narrativa sobre o BI embutido |
| Texto e tabela | Árvore em texto ou cerca de código quebrada no celular | Converter para pre ou tabela que rola dentro do bloco |
| Texto e tabela | Tabela estoura a tela abaixo de 390 pixels | Rolagem dentro do próprio bloco, testada a 390 pixels |
| Tema | Texto cinza que some no escuro | Cores que se adaptam ao tema e auditoria de contraste nos dois |
| Estilo | Classe bg-$cor-500 montada na hora some no build | Nomes de classe completos no código, num mapa de variantes |
| Tempo real e documento | Tela trava quando o servidor acelera | Fila com limite de mensagens antes de desenhar |
| Tempo real e documento | PDF gerado na hora derruba o servidor | Fila assíncrona e navegador reutilizado |
| Tempo real e documento | Fonte do Google num documento confidencial | Fonte embutida no arquivo |
| Navegação | role="menu" numa navegação comum confunde o teclado | Lista de links em nav; role="menu" só em menu de ação |
| Navegação | Aba, filtro ou página somem ao recarregar | Estado no endereço da página |
| Navegação | Rolagem infinita sem rodapé nem paginação | Paginação ou botão de carregar mais, onde busca e leitor de tela importam |
| Navegação | Janela modal sem fechar tocável | Botão de fechar de 44 pixels e tecla de escape |
12 de 20 linhas
Marque a linha pelo sintoma; o antídoto é o pedido que você faz ao agente.
Fonte: Manual de referência Recursos de frontend moderno, edição setembro de 2026, seção 25, fundido com o quadro do autor.
A contraprova é o que a entrega boa tem, pelas regras de ouro do manual. O relatório de conselho é um painel de decisão e o de marketing, um painel de crescimento, nunca a mesma tela. Quem lê descobre fonte, definição, data e dono de cada número em dois cliques, e a lógica da métrica vive em código versionado.
No lado visual, o checklist traz as cinco caras de tela gerada que a skill frontend-design (o roteiro de design do agente) lista para se calibrar. Nenhuma é proibida; todas são padrão em vez de escolha.
Se o seu pedido fixou o visual, ele vence; se deixou o eixo livre, a liberdade não pode ir para um padrão. Você confere procurando os cinco sinais na tela e os dois hexadecimais no código.
A tela genérica contra a entrega boa
Os cinco sinais de tela gerada por padrão
Padrão sem escolha
- Fundo creme perto de #F4F1EA, serifa alta e acento terracota perto de #D97757
- Quase-preto com um único acento ácido ou vermelhão
- Broadsheet: fios finos, canto reto e colunas densas de jornal
- Kit de cartões SaaS: mesmo raio, mesma sombra cinza e lavagem de gradiente em tudo
- Chrome de template: eyebrow em caixa alta, ponto médio entre metadados, seta no botão, monoespaçada nos rótulos e cinza-escuro no lugar do preto
O que a entrega boa tem, pelas regras de ouro
Escolha com regra
- Painel de decisão para conselho (narrativa, materialidade, risco, recomendação) e painel de crescimento para marketing
- Fonte, definição, data e dono de cada número em dois cliques
- Barra com meta em vez de velocímetro; cascata para variação de margem ou receita; small multiples e tabela de variância
- HTML e CSS puros para conselho; ECharts ou D3 no painel e JointJS ou GoJS no editor de fluxo, cada um na sua stack
- Lógica da métrica em código versionado (Cube ou dbt); nenhuma tela calcula ARR ou CAC sozinha
- Canvas e WebGL com camada de texto paralela; WASM só como acelerador pontual
- Orçamento de desempenho, profiling e OpenTelemetry desde o primeiro sprint
- Vocabulário de componentes executivos: kpi-card, variance-table, risk-matrix, waterfall-bridge, decision-card, confidence-badge, methodology-note
Antes de publicar qualquer tela construída por vibecoding, confira cada pacote novo no registro do npm. Depois abra a tela a 390 pixels de largura, nos dois temas, e procure os cinco sinais de paleta padrão.
Corrija cada linha marcada com o antídoto da tabela. Só aprove quando um número qualquer da tela chegar à fonte, à definição e ao dono em dois cliques.
Revisar identidade visual e defeitos a cada mudança
A revisão combina critérios observáveis com julgamento de design. Separe falhas de leitura, acessibilidade e funcionamento das preferências visuais do briefing.
Cor, fonte ou formato de cartão não demonstram se uma página foi criada por pessoa ou por inteligência artificial. Para avaliar a entrega, guarde a versão, o briefing, os dados de exemplo e as capturas nos tamanhos combinados.
Use sete dimensões como roteiro de observação: cor, tipografia, espaçamento, layout, componentes, decoração e conteúdo. Em cada uma, registre o elemento, o problema encontrado e a correção proposta.
Ver como texto
Revisar a tela contra o briefing. Identidade: Cor e tipografia previstas no projeto; Composição: Espaçamento, layout e componentes; Clareza: Decoração com função e conteúdo legível. Sete dimensões de revisão, sem inferir autoria.
Uma observação útil aponta algo que outra pessoa consegue conferir: “o título usa uma fonte fora do sistema” ou “o botão perde contraste no tema escuro”. Depois da correção, repita o mesmo cenário e compare a mesma região da tela.
Comece pela tarefa principal. A pessoa entende o que deve fazer? O título e o botão ajudam essa decisão? Só então avalie as escolhas de aparência. Uma paleta comum pode estar correta para a marca; uma composição original pode continuar ilegível.
Registre preferência e defeito em campos separados. “Prefiro outra fonte” pede uma decisão de design. “O texto foi cortado a 390 pixels” descreve um problema reproduzível.
| Dimensão | O que observar | O que pedir ao agente |
|---|---|---|
| Cor | Cor diverge do token aprovado ou prejudica a leitura | A primária pelo hexadecimal da marca e um acento com papel nomeado |
| Tipografia | Fonte, tamanho ou peso não cumprem a hierarquia definida | A fonte do letreiro no título, uma segunda no corpo e a escala escrita |
| Espaçamento | Espaçamento não separa grupos nem destaca a tarefa principal | A escala de espaçamento do sistema de design, com a seção principal mais larga |
| Layout | A ordem das seções não acompanha a decisão do leitor | A ordem que a tarefa do leitor dita; cortar a seção sem tarefa |
| Componentes | Estados e comportamento do componente não foram conferidos | Componente adaptado aos tokens da marca; cartão só onde há item repetido |
| Decoração | Efeito visual compete com a informação ou ignora movimento reduzido | Tirar um acessório por rodada e gastar o movimento numa única assinatura |
| Conteúdo | Texto genérico, sem dado verificável ou ação clara | Texto com o vocabulário do ramo e as quatro frases proibidas pelo nome |
Registre local, evidência, consequência e correção. Uma preferência de estilo não conta automaticamente como defeito.
Fonte: Roteiro de revisão do autor: aplicar ao briefing e à versão renderizada; não é um método de identificação de autoria.
Para testar se uma orientação melhorou o resultado, mantenha pedido, dados, largura e modelo constantes e altere uma condição de cada vez. Guarde todas as tentativas, inclusive as que falharam. Uma comparação visual só sustenta conclusões sobre os cenários e versões que foram avaliados.
Ver como texto
Comparar sem mudar a pergunta. 1. Preparar: Mesmo pedido, dados e tamanho de tela; 2. Alterar uma condição: Registrar versão, modelo e orientação; 3. Revisar: Anotar diferenças e repetir os testes. Resultado do cenário não é garantia geral.
O contraste é a falha que a máquina deixa passar. O WebAIM Million de fevereiro de 2024 mediu um milhão de páginas iniciais. Delas, 95,9% tinham falha detectável da WCAG (a norma de acessibilidade da web), com média de 56,8 erros por página. Baixo contraste apareceu em cerca de 81%.
Ferramenta automática cobre de 30% a 40% dos critérios de sucesso. Os 57% que a Deque publica medem volume de problemas encontrados, que é outra conta. Somar os dois números é o erro mais comum em relatório de conformidade.
Meça na página renderizada, e não na folha de estilo. O que importa é o contraste que sobrou depois da cascata (a soma das regras de estilo que a página aplica). Texto corrido pede 4,5:1, e componente de interface, como a borda do campo, pede 3:1 pelo critério 1.4.11. Gere e depois verifique, nessa ordem.
Um processo útil é repetir a avaliação com cenários fixos. No caso publicado em 31 de agosto de 2026, a Vercel mantém sete cenários fixos: mesmo pedido, mesmos dados falsos, mesma janela. Todos rodam a cada mudança do design.md (o sistema de design escrito para o agente ler), em Claude Opus 4.8 e em Codex com GPT-5.5.
Pessoas julgam hierarquia, composição e se a página entrega o que o leitor veio buscar. Checagens automáticas pegam a falha mecânica, como a tabela que ignora a largura.
Cada correção aceita vai para o lugar mais estreito: julgamento vira prosa no design.md, mecânica repetível vira CSS, o que dá para checar vira teste. Pedido novo vira cenário novo. O arquivo nomeia os padrões gerados que a empresa nunca quer ver, porque o nome faz o agente reconhecê-los.
| Passo | O que a Vercel faz | O que você faz no seu projeto |
|---|---|---|
| Cenário fixo | Sete cenários congelados, com o mesmo pedido, os mesmos dados falsos e a mesma janela | Três telas da sua empresa, com pedido e dados de exemplo guardados num arquivo |
| Gerar | Cada mudança do design.md roda os sete cenários em dois agentes | Cada mudança do seu sistema de design regenera as três telas |
| Julgar e medir | Pessoas julgam hierarquia, composição e tarefa; checagens determinísticas pegam falha mecânica | As sete dimensões da tabela, mais o contraste medido na página renderizada |
| Corrigir no lugar mais estreito | Julgamento vira prosa, mecânica vira CSS, o que dá para checar vira teste; pedido novo vira cenário | Cada marca da tabela vira uma linha no sistema de design, no CSS ou num teste |
O laço só funciona se o cenário não muda entre uma rodada e outra; mudar o pedido junto com o sistema esconde a causa.
Fonte: Vercel, How our agents build on-brand pages with design.md, 31 de agosto de 2026, com a coluna do leitor escrita pelo autor.
Duas revisões cabem antes do código. A skill frontend-design manda revisar o plano contra o briefing com o teste do prompt vizinho. Se um pedido parecido daria o mesmo plano, o plano era default. Depois da tela pronta, a revisão com captura, quando disponível, identifica o que merece ajuste. Remover um enfeite é uma sugestão de design, não uma regra de aprovação.
Montar componentes de um sistema é o que a IA já faz. Gosto curado, pesquisa e julgamento são o que resiste, e o laço guarda isso em cenário, nota e correção registrada.
Escolha três telas reais do seu projeto e guarde o pedido completo e os dados de exemplo de cada uma num arquivo fixo. Ajustar o pedido a cada rodada esconde se a melhora veio do sistema ou da sorte.
Gere as três sem retoque manual e marque os sinais das sete dimensões e o contraste na página renderizada, nos dois temas. Registre cada correção no lugar mais estreito, prosa no sistema de design, regra mecânica no CSS, checagem repetível em teste, antes de regenerar e comparar as contagens.
Construir o painel final em três pedidos e conferir antes de publicar
Com a medida e o laço de avaliação de pé, o projeto final pode ser pedido em três etapas: plano de tokens, revisão contra o briefing e construção com autocrítica.
Três etapas de pedido ajudam a construir um painel voltado a uma pergunta, como quantas turmas abrem no próximo semestre. O agente é o assistente de inteligência artificial que escreve o código por você. Plano, revisão contra o briefing e construção com autocrítica são as três etapas.
A revisão é o que pega o fundo creme com terracota que qualquer briefing genérico daria e o troca pela cor da marca. As dez perguntas de triagem organizam a revisão antes de publicar; o resultado ainda precisa ser testado.
Ver como texto
Fluxo vertical dos três pedidos do painel final. Proposta de trabalho, sem garantia de aprovação em três pedidos. Primeiro, o plano sem código, com quatro a seis hexadecimais nomeados, tipografia e layout. Segundo, a revisão contra o briefing, com a pergunta: um briefing parecido daria o mesmo? Terceiro, a construção com autocrítica, com print e um enfeite a menos. Depois vêm as dez perguntas de triagem antes de publicar e, por fim, a publicação. Uma linha tracejada vermelha volta das dez perguntas ao plano: a resposta que aponta outra ferramenta devolve o trabalho ao começo.
Vale a regra de ouro de uma decisão por tela. Antes do primeiro pedido, escreva qual decisão aquela tela ajuda a tomar. Um painel que existe para responder "vou bater a meta do mês" precisa dos números certos em ordem: a decisão no topo e o detalhe embaixo. Número que não ajuda a decidir disputa atenção e sai.
Escreva também o briefing (o pedido com o que a tela faz, para quem e com que conteúdo real). A skill frontend-design (o roteiro de design do agente) manda identificar assunto, público e trabalho principal da tela antes de desenhar, e confirmar com você. Tela desenhada com conteúdo de mentira vira template.
O primeiro pedido produz só o plano compacto, sem código. Cor: quatro a seis hexadecimais com nome, cada um deles um token (o valor da cor guardado com nome, como a etiqueta na lata de tinta). Tipografia: uma ou duas famílias e o papel de cada uma.
Layout: o conceito numa frase, um wireframe em texto (o esboço em caixas, como a planta baixa da loja) e o alinhamento, à esquerda, centrado ou justificado. Princípios: o que torna esta tela diferente de qualquer outra. Pedir o gráfico antes desse plano obriga a refazer o gráfico depois, porque a cor e a grade mudam.
O segundo pedido revisa o plano contra o briefing com uma pergunta: um briefing parecido daria o mesmo resultado? O agente refaz o plano com um pedido semelhante e, onde chega ao mesmo lugar, aquela parte é padrão em vez de escolha. Ele troca essa parte e diz o que mudou e por quê.
Onde o seu briefing fixou o visual, ele vence, mesmo quando pede uma das cinco caras genéricas da aula anterior. Onde deixou o eixo livre, a liberdade não pode ir para um padrão. Só depois dessa revisão o agente escreve código, seguindo o plano revisado e cuidando da especificidade dos seletores de CSS para uma regra não anular a outra.
Ver como texto
Wireframe do dashboard de uma página: skip-link, header, três cartões de KPI e gráfico de barras
O terceiro pedido constrói e se autocritica. Ousadia num lugar só: um elemento memorável, tudo ao redor quieto, e um enfeite a menos antes de entregar. As verificações exigidas são: responsivo até o celular, foco visível no teclado, menos movimento respeitado, contraste nos dois temas.
Nesse ponto, quando tem acesso ao navegador, o agente captura e revisa a aplicação. Se a captura não foi possível, registre a revisão visual pendente; não declare aprovação apenas pela leitura do código. Dentro desse pedido ficam as três partes do painel.
A fundação traz as cores dos dois temas e a pergunta; os cartões, a tendência marcada por ícone e por palavra. O gráfico tem largura e altura definidas no contêiner e cor própria em cada texto, porque caixa de largura zero aparece em branco, sem erro.
Por fim, a régua é o checklist de dez perguntas do manual, antes de publicar. Cada resposta aponta uma ferramenta: conteúdo de busca pede atenção ao HTML entregue e à renderização, poucos elementos ricos pedem SVG, milhares de redesenhos pedem Canvas. A décima é a mais esquecida: orçamento e medição entram no primeiro sprint, e a tela que chega sem eles volta ao plano.
| Pergunta | O que a resposta decide |
|---|---|
| A busca do Google importa de verdade? | Avalie HTML estático ou renderização no servidor e confira o resultado no Search Console; o framework não garante indexação |
| São poucos elementos ricos na tela? | SVG, que o leitor de tela lê e o tema colore |
| São milhares de redesenhos por segundo? | Canvas ou WebGL, com camada de texto paralela |
| É um editor com conectores entre caixas? | JointJS ou GoJS |
| O dado chega em tempo real? | Comece em ECharts |
| Precisa de velocímetro com identidade própria? | D3 sobre SVG |
| O servidor só empurra novidade, sem resposta do usuário? | SSE (o canal de mão única do servidor para a tela) |
| Há cálculo pesado no navegador? | WASM, só nesse trecho |
| Quanto boilerplate a equipe aceita no estado? | Pouco: Zustand ou Pinia; auditoria: Redux Toolkit |
| Orçamento de desempenho e medição já entraram? | Entram no primeiro sprint, antes de qualquer tela |
Responda as dez antes de publicar; a resposta que muda de ferramenta volta ao plano.
Fonte: Manual de referência Recursos de frontend moderno, edição setembro de 2026, seção 26 (checklist de triagem do guia de stacks).
Antes de escrever o primeiro pedido, fixe a pergunta que a tela responde e monte o briefing com conteúdo real. Peça o plano compacto sem código, depois a revisão com a pergunta do briefing parecido.
Só então peça a construção, com print e autocrítica. Passe as dez perguntas de triagem e volte ao plano em qualquer resposta que aponte para outra ferramenta.
Guia prático: rodar um detector de antipadrões na página publicada
A nota de cara de IA que você aprendeu a dar depende de alguém olhar a tela. Um detector determinístico, programa que aplica sempre as mesmas regras e devolve sempre o mesmo resultado, faz a parte mecânica dessa conferência em segundos e sem gastar crédito de modelo. A skill Impeccable, pacote de instruções de design para agentes como o Claude Code, traz um com 60 regras e roda por linha de comando, sem chave de API.
As regras se dividem em duas famílias. As de qualidade medem o que tem número: contraste abaixo de 4,5 para 1, linha com mais de 80 caracteres, entrelinha abaixo de 1,3, texto de interface menor que 11 px. As de padrão genérico apontam os vícios de tela gerada: cartão dentro de cartão, gradiente ciano ou roxo, borda colorida grossa num lado só, rótulo pequeno em caixa alta acima do título.
O detector entrega evidência, e a decisão continua sendo sua. Rodado na página deste curso em 06/10/2026, ele devolveu 307 achados. Dos 104 de contraste, 96 repetiam a mesma leitura: texto e fundo com a mesma cor, 1,0 para 1. Aberta no navegador, a página não tinha nenhum elemento com aquele cinza de fundo. O programa leu o fundo errado 96 vezes, e quem aceitasse o total sem conferir sairia corrigindo um defeito que não existe.
# Página publicada, na largura de computador (1280 por 800 é o padrão)
npx impeccable detect https://seusite.com.br/pagina
# A mesma página na largura de um celular
npx impeccable detect --viewport 390x844 https://seusite.com.br/pagina
# Só tipografia e layout, em JSON, para contar por regra
npx impeccable detect --json --scope type,layout src/app > achados.json
# Registrar uma exceção decidida, com o motivo
npx impeccable ignores add-value overused-font Inter --reason "Fonte da marca"Analista de marketing de uma escola de idiomas, responsável pela página de matrícula gerada com um agente
Educação, matrícula por formulário
Dor
A página passou na revisão visual da equipe, e mesmo assim os anúncios no celular convertiam metade do que convertiam no computador. Ninguém sabia dizer o que estava diferente.
Solução
Ela rodou o detector duas vezes, na largura de computador e na de celular, e separou os achados em três pilhas: defeito com número, escolha de estilo e leitura errada do programa. Pediu ao agente a correção só da primeira pilha.
Resultado do exemplo
A pilha de defeitos tinha três itens no celular: o texto do botão com contraste de 3,2 para 1, parágrafos de 95 caracteres por linha e um rótulo de 10 px. Os três foram corrigidos numa tarde e a segunda rodada veio limpa neles.
Cenário construído para fins didáticos. Números não correspondem a cliente específico.
Do relatório do detector à lista curta de correções
Seis passos. O relatório bruto assusta pelo volume; o trabalho é reduzi-lo ao que vale corrigir.
Passo 1: Rode na página publicada, não no arquivo
Passe a URL. O detector abre a página num navegador próprio e mede o que foi desenhado: cor calculada, largura real da linha, tamanho final da letra. No arquivo de código ele só lê o que está escrito.
Deu certo quando: O relatório cita valores medidos, como "3,2:1" e "~95 caracteres", e não só nomes de classe.
Erro comum: Rodar numa pasta de código com estilos montados em tempo de execução e concluir que a tela está limpa.
Passo 2: Repita na largura de celular
Acrescente --viewport 390x844. Linha longa some no celular e letra pequena aparece; as duas rodadas se completam.
Deu certo quando: Você tem dois relatórios e sabe qual achado pertence a qual largura.
Erro comum: Aprovar pela janela de 1280 px uma página cujo tráfego pago chega quase todo pelo celular.
Passo 3: Conte por regra antes de ler um por um
Com --json, peça ao agente a contagem por regra e o trecho mais repetido de cada uma. Na página deste curso, 82 achados eram etiquetas de 10 px repetidas nos cartões.
Deu certo quando: A lista de centenas de linhas vira uma tabela de 10 a 20 regras.
Erro comum: Corrigir achado por achado quando a causa é um único estilo compartilhado.
Passo 4: Separe em três pilhas
Defeito medido: contraste, linha longa, entrelinha, letra pequena, título fora de ordem. Escolha de estilo: gradiente, rótulo acima do título, fonte muito usada. Leitura errada: achado que não se confirma ao abrir a página.
Deu certo quando: Cada regra da tabela está em uma pilha, com uma frase de justificativa.
Erro comum: Tratar opinião de estilo como erro e trocar a identidade da marca para agradar o programa.
Passo 5: Confirme no navegador o que parecer estranho
Contraste de 1,0 para 1 repetido dezenas de vezes, ou a maior parte do texto dada como escondida, pede conferência: inspecione o elemento e leia a cor de fundo calculada.
Deu certo quando: Você sabe dizer, para cada achado estranho, se o defeito existe na tela.
Erro comum: Repassar o total bruto ao cliente como se fosse a quantidade de problemas da página.
Passo 6: Corrija a primeira pilha e registre as exceções
Peça ao agente a correção dos defeitos medidos, na causa compartilhada. O que ficou por decisão entra em impeccable ignores, com o motivo escrito, e rode de novo.
Deu certo quando: A segunda rodada mostra menos achados nas regras corrigidas e nenhuma exceção sem motivo.
Erro comum: Silenciar uma regra inteira para o número cair.
No fim você tem: Uma lista curta de defeitos com número, corrigidos na causa, e um arquivo de exceções em que cada item tem dono e motivo.
Na página deste curso, a triagem ficou assim. Entraram na pilha de defeitos os 49 parágrafos com linha acima de 80 caracteres, as etiquetas de 10 px e o texto justificado sem hifenização do bloco do e-book, que abre buracos entre as palavras em tela estreita. O bloco do e-book ganhou hifenização automática no mesmo dia e continuou justificado, como o restante do portal. O gradiente ciano e os rótulos acima dos títulos ficaram na pilha de estilo, e os 96 contrastes de 1,0 para 1 na de leitura errada.
Guia prático: auditor que não editou e nada na tela sem aprovação
Quem fez a página não enxerga os próprios erros, e com agente acontece o mesmo. No curso de edição de vídeo estudado em 07/10/2026, a primeira entrega do vídeo longo saiu com 150 erros. A partir daí, cada capítulo passou por um auditor independente, um agente que não editou nada, só lista o problema com prova e gravidade e propõe a correção. Ele encontrou de 9 a 17 erros por capítulo que o editor tinha dado como prontos.
A regra de conteúdo do mesmo curso vale para página: nada na tela que a pessoa não disse ou não aprovou. Número, nome e marca só aparecem se vieram dela. Quando o tema é de terceiros, entra o material real, como o logo oficial ou o número consultado na fonte, e a origem de cada item vai para um arquivo de entrega junto do trabalho, que lá se chama EDICAO.md.
O terceiro hábito é conferir por script o que o lint não vê. Um verificador abre a página, avança a animação de 0,2 em 0,2 segundo e mede cada caixa: texto cortado, caixa sobre caixa, texto pequeno demais. O material registra o tropeço que motivou isso: um ajudante marcou todo bloco como sobreposição permitida e deixou a checagem cega.
Você é o auditor desta página. Você não editou nada e não vai corrigir nada.
Página: [endereço da pré-visualização]
Pedido original: [arquivo do briefing]
O que foi aprovado: [arquivo com textos, números e imagens aprovados]
Abra a página em 390 px e em 1440 px. Liste cada problema numa tabela:
# | gravidade (alta, média, baixa) | onde | o que está errado | prova | correção proposta
Conte como problema:
- número, nome, logo ou depoimento que não está no arquivo de aprovados;
- texto cortado, caixa sobre caixa ou texto abaixo de 16 px;
- link que não leva a lugar nenhum.
Responda em no máximo 10 linhas além da tabela.Separar quem faz de quem confere
Cinco passos para a revisão final de uma página feita com agente.
Passo 1: Escreva o arquivo do que está aprovado
Liste textos, números, logos, depoimentos e imagens que você aprovou, com a origem de cada um. É a base contra a qual o auditor confere.
Deu certo quando: Todo elemento da página aparece no arquivo, com origem.
Erro comum: Aprovar pela conversa e não ter onde conferir depois.
Passo 2: Abra uma conversa nova para o auditor
O auditor não pode ser a mesma sessão que construiu. Passe o pedido do bloco de código, a página e os dois arquivos, e peça só a lista.
Deu certo quando: Você recebe uma tabela com prova em cada linha.
Erro comum: Pedir ao mesmo agente que construiu para revisar o próprio trabalho.
Passo 3: Tire da tela o que não foi aprovado
Item sem origem no arquivo sai ou espera aprovação. Material de terceiros entra real: logo oficial, número consultado na fonte com data, página de verdade.
Deu certo quando: Nenhum item da tabela de alta gravidade sobra sem decisão.
Erro comum: Manter a estatística bonita que o agente acrescentou porque "parece certa".
Passo 4: Rode o verificador de caixas
Peça um script que abra a página em três larguras e meça cada texto: cortado, sobreposto sem marca de intenção, abaixo do piso. Sobreposição de propósito ganha marca explícita, uma por uma.
Deu certo quando: O script volta sem achado ou com cada achado explicado.
Erro comum: Marcar tudo como sobreposição permitida para o script parar de reclamar.
Passo 5: Entregue com o arquivo de origem
Junto da página, guarde o arquivo de entrega: o que foi feito, de onde veio cada material, o que foi gerado por IA e o que você ainda precisa conferir antes de publicar.
Deu certo quando: Quem pegar o projeto amanhã sabe a origem de cada item da tela.
Erro comum: Publicar e perder o registro de onde veio cada número.
No fim você tem: Uma página revisada por quem não a construiu, sem nada que você não aprovou e com a origem de cada item guardada.
Coordenador de marketing de uma escola de idiomas em Recife, finalizando a página de matrícula do semestre
Educação, captação de matrícula
Dor
A página tinha uma faixa com a taxa de aprovação dos alunos e logos de universidades parceiras que ele nunca tinha informado. O agente tinha completado a seção de prova social por conta própria.
Solução
Ele montou o arquivo de aprovados com os dados da secretaria e abriu uma conversa nova como auditor. A tabela apontou a taxa e os logos sem origem; os dois saíram até a secretaria confirmar.
Resultado do exemplo
A página foi ao ar só com dados que a escola consegue sustentar, e o arquivo de origem passou a acompanhar as próximas páginas.
Cenário construído para fins didáticos. Números não correspondem a cliente específico.
O que mudou de agosto a outubro de 2026
Em 31/08/2026, o time de design da Vercel publicou como seus agentes constroem páginas que precisam parecer Vercel. A skill de design interna só funciona dentro dos repositórios, e relatórios, propostas e páginas avulsas ficavam de fora. A resposta foi um arquivo design.md público, que qualquer agente carrega. A Impeccable, ferramenta usada aqui, deu nome aos defeitos típicos da tela gerada.

Ver como texto
Post do blog da Vercel de 31 de agosto de 2026, chamado How our agents build on-brand pages with design.md, de John Phamous, design engineer, com 12 minutos de leitura. O texto diz que a Vercel usa agentes de código para desenhar e construir páginas que precisam ter a tipografia, a cor e a composição da marca, e que a skill product-design vive em cada repositório, o que deixa de fora relatórios, propostas e páginas avulsas.

Ver como texto
Página inicial da Impeccable com o título The missing design vocabulary for agents. À esquerda, um cartão de exemplo dividido em antes e depois, com quatro etiquetas amarelas apontando defeitos: AI kicker, Italic serif, Side-tab border e AI beige, e abaixo os comandos /polish, /distill e /clarify. O contador do GitHub mostra 86 mil estrelas.

Ver como texto
Página The WebAIM Million da WebAIM, atualizada em 30 de março de 2026, com o subtítulo The 2026 report on the accessibility of the top 1,000,000 home pages e o sumário do artigo: introdução, amostra, metodologia, erros detectados, complexidade da página inicial, conformidade com a WCAG, texto de baixo contraste, imagens e texto alternativo, rótulos de formulário e títulos.
Faça agora: revise uma tela gerada com defeito nomeado
Passo 1: Abra uma tela que um agente ou gerador entregou para a empresa nos últimos 30 dias.
Deu certo quando: A tela aberta no celular e no computador.
Passo 2: Procure os quatro sinais do glossário e anote quantas vezes cada um aparece.
Deu certo quando: Uma contagem por sinal, como "rótulo em caixa alta: 5 seções".
Passo 3: Meça o contraste do texto mais claro da tela no verificador da WebAIM.
Deu certo quando: Uma razão acima de 4,5:1, ou um item a mais na lista.
Passo 4: Devolva a tela com cada defeito, o antídoto e o arquivo de regra da marca anexado.
Deu certo quando: O pedido de correção cabe em cinco linhas e não usa a palavra "genérico".
Erro comum: Pedir "deixe menos com cara de IA", que o agente resolve trocando um defeito por outro.
No fim você tem: Uma devolutiva de revisão com defeitos nomeados, antídotos e a regra da marca que faltava.
Seu caderno neste capítulo
Abrir o caderno completoSelecione um trecho do capítulo para destacar ou anotar. Nos vídeos e áudios, use Anotar este momento. No teclado, selecione com Shift e as setas e use Alt+Shift+D para destacar ou Alt+Shift+N para anotar.
Salvo neste navegador. Entre na sua conta para levar o caderno a outros aparelhos.
Entre na sua conta para compartilhar o que aprendeu e convidar alguém para estudar com você.
Conexões deste capítulo
Veja o que estudar antes e para onde seguir depois, explore os conceitos e compare abordagens em outros cursos. Sugestões marcadas como “sugerido pelo grafo” vêm dos assuntos em comum, não do índice do curso.
Estude antes
- CursoClaude Code: do zero à prática
- Agent Skills e SKILL.md: instruções reutilizáveissugerido pelo grafoApresenta o conceito “Skill (Agent Skill)”, usado em “Construir o projeto final, medir a cara de IA e revisar”.
- Como uma mudança chega ao clientesugerido pelo grafoApresenta o conceito “Vercel”, usado em “Construir o projeto final, medir a cara de IA e revisar”.
- CursoSíntese e didática com IAsugerido pelo grafoDepois de escolher a informação essencial e desenhar hierarquia, gráficos e fluxos compreensíveis, o aluno pode aplicar esses critérios às interfaces do curso de frontend. A ponte conecta clareza da mensagem, acessibilidade e decisões de apresentação.
Conceitos deste capítulo
O mesmo assunto em outros cursos
- MCP e Chrome: agentes de IA no navegadorQuando ler a estrutura da página e quando usar imagemExaminar conexões de Quando ler a estrutura da página e quando usar imagem
- SEO programáticoApêndice: medir velocidade e capacidade da plataformaExaminar conexões de Apêndice: medir velocidade e capacidade da plataforma
- Síntese e didática com IATabela, gráfico ou fluxograma: escolha pela relação a mostrarExaminar conexões de Tabela, gráfico ou fluxograma: escolha pela relação a mostrar
- Escrever bem com IAPedir tabela, passos ou fluxo conforme a dificuldade do leitorExaminar conexões de Pedir tabela, passos ou fluxo conforme a dificuldade do leitor
Terminou a leitura?
Você está aqui: capítulo 25 de 35
0 de 35 concluídos
- Próximo · Capítulo 26 de 35 · 26 minComparar modelos e interpretar benchmarksLer o capítulo 26 sem concluir
Marque como concluído para o capítulo contar no seu painel e no certificado.
- Anterior · Capítulo 24 de 35 · 36 minPlanejar a modernização e publicar com reversãoVoltar para o capítulo 24
Leve uma ideia para a prática
Escolha uma atividade no painel e volte a este curso quando quiser.
Atividades e evolução ficam reunidas no painel da sua conta.
Laboratórios ao vivo deste curso
Cada laboratório monta a biblioteca real dentro da aula, com controles para você mexer e o código do exemplo para copiar. O texto de reserva descreve a demonstração para quem lê sem JavaScript. O link abre o capítulo já no ponto do laboratório.
Base UI
Prenda o foco num diálogo sem escrever o comportamento
Abra a janela Agendar visita, percorra os campos com Tab, feche com Esc e acompanhe no painel onde o foco está e para onde ele volta.
Pacote
Abrir no capítuloConstruir componentes, usar o registro e publicar o catálogo@base-ui/reactLucide e Iconify
Mantenha uma família de ícones coerente e nomeie cada botão
Mude tamanho, traço e cor da barra, veja o símbolo do Iconify acompanhar o Lucide e rode a auditoria de nomes acessíveis.
Pacote
Abrir no capítuloProjetar uma linguagem de ícones e ilustraçãolucide-react, @iconify/reactMotion
Testar os três sinais que autorizam o terceiro degrau
Reproduza a entrada em sequência, aperte o botão com mola e arraste o cartão; ajuste rigidez e amortecimento e veja o que muda.
Pacote
Abrir no capítuloProjetar movimento, assinatura e narrativas por rolagemmotionVidstack
Ver o que separa um player de um vídeo cru
Dê o play, troque a velocidade e ligue a legenda; o painel ao lado mostra o estado que o player publica e que a etiqueta crua esconde.
Pacote
Abrir no capítuloProjetar movimento, assinatura e narrativas por rolagem@vidstack/reactcmdk
Achar um destino entre quarenta digitando três letras
Abra a paleta, digite fat e escolha um item só pelo teclado; o painel embaixo conta o que o filtro deixou passar e quanto tempo levou.
Pacote
Abrir no capítuloConstruir formulários e estados de interaçãocmdknumber-flow
Animar indicadores que mudam ao vivo com formato pt-BR
Veja três indicadores fictícios rolarem a cada troca e compare com o número em texto puro. Pause, reinicie e observe o separador de milhar.
Pacote
Abrir no capítuloProjetar gráficos e painéis pela decisão@number-flow/reactApache ECharts
Medir o custo de desenhar 200 mil pontos com o ECharts
Troque o tipo de gráfico e o volume de pontos, leia o tempo de desenho e alterne o eixo em zero. Mude o tema do site e veja as cores refazerem.
Pacote
Abrir no capítuloProjetar gráficos e painéis pela decisãoechartsApache ECharts
Painel grande com visões coordenadas
Clique num canal para filtrar todas as visões, troque a densidade entre 6, 9 e 12 visões, alterne tema e movimento e abra a tela cheia.
Pacote
Abrir no capítuloProjetar gráficos e painéis pela decisãoechartssharp e svgo
Escolher a variante certa da imagem e conferir o teto de 150 KB
Arraste a largura da tela simulada, troque a densidade entre 1x e 2x e veja qual arquivo o navegador escolhe, quanto ele pesa e se cabe no orçamento.
Pacote
Abrir no capítuloValidar desempenho, autenticação e segurançasharp, svgoReact Flow (xyflow)
Disparar um pedido e ver o orquestrador distribuir, conferir e responder
Alterne paralelo e sequencial, ligue e desligue a verificação e use a medição real; observe o tempo de parede em cada combinação.
Pacote
Abrir no capítuloConstruir as cenas do orquestrador, do paralelismo e do robô@xyflow/reactGSAP, Web Workers e number-flow
Dividir mil tarefas entre trabalhadores reais e correr três ritmos de geração
Execute com um trabalhador, depois com quatro e oito, e compare o tempo; em seguida percorra a corrida e separe a espera inicial do ritmo.
Pacote
Abrir no capítuloConstruir as cenas do orquestrador, do paralelismo e do robôgsap, @number-flow/reactThree.js com React Three Fiber, drei, Rapier e XR
Carregar o braço robótico, ver a física trabalhar e entrar na cena com o visor
Carregue a cena pelo botão, inicie o ciclo, mostre os ângulos das juntas, troque a câmera e a velocidade; com visor, entre em realidade virtual.
Pacote
Abrir no capítuloConstruir as cenas do orquestrador, do paralelismo e do robôthree, @react-three/fiber, @react-three/drei, @react-three/rapier, @react-three/xrMotion
Ver quatro agentes em raias trocando mensagens e a revisão devolvendo um trecho
Reproduza os 60 s de modelo, percorra o tempo pelo controle e esconda as mensagens para comparar a leitura; repare no tempo de parede contra a soma.
Pacote
Abrir no capítuloEspecificar, medir e produzir as cenas da máquinamotionMediaRecorder, Canvas 2D e Long Animation Frames (plataforma)
Medir o quadro da cena e gravar seis segundos dela em vídeo
Suba as partículas, force um bloqueio de 300 ms e leia o medidor; depois grave seis segundos, veja o codec escolhido e baixe o arquivo.
Pacote
Abrir no capítuloEspecificar, medir e produzir as cenas da máquinasem pacotesigma.js, graphology com ForceAtlas2 e cosmos.gl
Ver o grafo real do curso e um grafo de milhares de nós se organizarem em aglomerados
Rode o layout no grafo real, passe o mouse pelos nós e busque uma entidade; troque para 20 mil nós e leia o medidor; depois carregue o modo massivo na placa de vídeo.
Pacote
Abrir no capítuloAnimar um grafo de conhecimento amplo em movimentosigma, graphology, graphology-layout-forceatlas2, graphology-generators, @cosmos.gl/graph
Capítulos vizinhos em Frontends com Vibecoding
- 23Validar desempenho, autenticação e segurança
- 24Planejar a modernização e publicar com reversão
- 25Construir o projeto final, medir a cara de IA e revisar
- 26Comparar modelos e interpretar benchmarks
- 27Calcular custo por tarefa e definir governança