Um deck que a pessoa
navega, não assiste.
O processo completo pra transformar um plano de negócios num arquivo HTML de 22 telas — animado, interativo, que abre com clique duplo e funciona sem internet. Três etapas: você despeja a informação, o Claude constrói, o Claude Design refina o movimento. Nenhuma delas exige que você saiba programar.
Você fala, o Claude estrutura
Briefing guiado, número com fonte, coleta de imagem. É aqui que o deck ganha ou perde.
Claude Code monta o HTML
Template, sistema de chapas, interativos e build num arquivo único offline.
Claude Design ajusta o movimento
Timing, cascata, revelação de dado. O que separa "slide com fade" de apresentação viva.
Não é PowerPoint exportado.
É uma página que reage.
Rodei esse processo pela primeira vez num deck de captação de uma mineradora de rocha ornamental em Minas — R$ 10 milhões de nota comercial, investidor sentado na frente da tela. O PDF não dava conta: o cara queria mexer no valor do aporte e ver o retorno mudar. Slide não faz isso. Página faz.
O que o formato entrega
- Um arquivo só. Imagem, fonte e código embutidos em base64. Manda por e-mail, abre no avião.
- Navegação real. Setas, espaço, swipe no celular, índice com tecla
I, tela cheia comF. - Deep link. A URL guarda a tela (
#16). Você manda o link já na chapa que interessa. - Interativo. Simulador, gráfico que redesenha, galeria com lightbox, timeline clicável.
Quando vale a pena
- Captação e M&A. Quem decide quer testar cenário, não ler promessa.
- Proposta de valor alto. Acima de cinco dígitos, o deck é parte do produto.
- Produto com catálogo. Galeria com hover e detalhe vende melhor que grid de foto.
- Reunião de conselho. Um número muda, o deck inteiro recalcula na frente de todo mundo.
Quando NÃO vale
- Deck de 5 telas. Custo de montagem não paga. Slide comum resolve.
- Precisa ser editado por terceiros. Se o cliente vai mexer sozinho toda semana, é Google Slides.
- Impressão é o destino final. Interativo não imprime. Se vira papel, é PDF.
- Não existe número real. Deck interativo expõe a falta de dado. Sem lastro, não monta.
Um deck resolve uma decisão. Escreva essa frase antes de qualquer tela: "ao final, [quem] deve [fazer o quê]". Se uma chapa não empurra pra essa decisão, ela sai. Foi assim que 40 slides de rascunho viraram 22 telas que fecham.
Esse playbook é uma peça do sistema.
O deck é uma entrega. Dentro do paxyOS tem a biblioteca inteira: prompts, skills, templates e SOPs prontos pra copiar e colar na sua operação — proposta, e-mail, relatório de tráfego, atendimento. Atualizada toda semana.
Você despeja.
O Claude estrutura.
Essa etapa não é de design. É de extração. O erro mais caro é começar a montar tela com informação pela metade — você descobre o buraco na chapa 14 e refaz as treze anteriores. Colete tudo primeiro, mesmo o que parece que não vai usar.
-
Escreva a decisão em uma frase
"Ao final, o investidor deve assinar o termo de R$ 1 milhão a 5% ao mês." Concreto, com sujeito e verbo. Essa frase vira o critério de corte de toda tela.
-
Mapeie quem decide e o que trava ele
Perfil, nível técnico, tempo de atenção e as três objeções que ele vai levantar. Cada objeção vira uma chapa — não uma nota de rodapé. No deck da mineradora, "e se a produção não cobrir o cupom?" virou uma tela inteira com gráfico.
-
Liste todo número com fonte e data
Formato:
valor · o que mede · fonte · data. Número sem fonte não entra no deck — vira "estimativa interna" ou sai. É a diferença entre um deck que sustenta pergunta e um que desmonta na primeira dúvida. -
Conte a história em ordem de tempo
Fundação, virada, situação de hoje, para onde vai. Quatro marcos com ano. Isso vira a timeline interativa — e serve de espinha pro Ato I.
-
Junte os ativos visuais numa pasta
Foto de operação, produto, equipe, logo. Sem stock photo sorrindo. Joga tudo em
img/src/— na etapa 2 o Claude otimiza praimg/opt/e embute no arquivo. -
Defina o que o público NÃO pode ver
Margem real, nome de cliente, contrato. Escreva a lista antes. Deck vaza — o seu vai ser encaminhado pra gente que você não escolheu.
O briefing que você cola no Claude
Preencha o que souber, deixe em branco o que não souber. O Claude pergunta o resto — e é a pergunta dele que revela o buraco.
# BRIEFING DO DECK ## A decisão Ao final da apresentação, [QUEM] deve [FAZER O QUÊ]. Prazo dessa decisão: [quando] O que acontece se ele disser não: [consequência] ## Quem decide Perfil: [cargo, setor, o que já sabe do assunto] Nível técnico: [leigo / intermediário / especialista] Tempo real de atenção: [minutos] As 3 objeções que ele vai levantar: 1. [objeção] 2. [objeção] 3. [objeção] ## A empresa Nome, CNPJ, onde fica, desde quando: O que faz, em uma frase sem adjetivo: Quem manda e há quanto tempo: Quatro marcos com ano (fundação, virada, hoje, próximo): ## Os números Formato: valor · o que mede · fonte · data. Sem fonte, marque [SEM LASTRO]. - [ex: R$ 213/m² · preço médio no mercado interno · tabela de indústria · 06-09/2026] - ... ## A oferta O que está sendo pedido/vendido: Quanto, por quanto tempo, a que taxa/preço: O que a pessoa recebe em troca: Garantia / lastro / o que protege ela: Como o dinheiro será usado (com percentual): ## Concorrência e alternativa Contra o que você está sendo comparado: Por que a sua opção é melhor, com número: ## Ativos Imagens disponíveis em img/src/: [liste] Logo: [caminho] Documento de origem: [pptx, pdf, planilha] ## Restrições NÃO pode aparecer no deck: [lista] Precisa aparecer obrigatoriamente: [lista] Idioma: [pt-BR / en] ## Tarefa 1. Leia tudo e me devolva a LISTA DE BURACOS: o que falta, o que está sem fonte, o que se contradiz. Não invente nada pra preencher — pergunte. 2. Depois de eu responder, proponha a ESTRUTURA: 4 atos, quantas telas em cada, título e a única mensagem de cada tela. 3. Só depois disso a gente escreve conteúdo.
É o passo mais chato e o que mais economiza tempo. O Claude vai apontar contradição que você não viu — número que não bate entre duas fontes, promessa sem lastro, objeção sem resposta. Resolver isso agora custa 20 minutos. Resolver na frente do investidor custa o negócio.
Esse briefing é um dos arquivos da biblioteca.
Tem estrutura pronta pra proposta comercial, diagnóstico de operação, roteiro de vídeo, SOP de atendimento e relatório de campanha. Você copia, troca o que está entre colchetes, cola no Claude. Sem curso, sem aula, sem módulo.
O Claude monta
o HTML inteiro.
Aqui você não escreve código — você descreve arquitetura e revisa resultado. O que muda tudo é dar ao Claude a especificação técnica do formato junto com o conteúdo. Sem isso ele entrega uma página de scroll bonitinha, não um deck.
A arquitetura, em cinco decisões
01 · Palco fixo, escala por transform
O deck é uma div de 1600×900 px. Uma função calcula Math.min(innerWidth/1600, (innerHeight-40)/900) e aplica transform: scale(). Você projeta uma vez e funciona em notebook, TV e celular sem media query nenhuma.
02 · Uma chapa por section
Cada tela é <section class="chapa"> em position:absolute; inset:0; opacity:0. A tela atual ganha a classe .ativa. Trocar de tela é trocar uma classe — a transição é CSS puro, 550ms.
03 · Metadado no HTML, não no JS
data-t="Simulador" e data-ato="IV" em cada section. O índice, os pontinhos de navegação e o agrupamento por ato se constroem sozinhos lendo esses atributos. Você adiciona uma tela e a navegação se atualiza.
04 · Dado em constante no topo
Materiais, canais, uso dos recursos, dossiê — tudo em array JS no começo do script. A tela é gerada por template. Trocar um preço é editar uma linha, não caçar HTML em seis lugares.
05 · Template + build, nunca edição direta
Você edita src/deck.template.html com marcadores {{img:nome}}. Um script Python troca cada marcador por base64 e cospe o arquivo final. Nunca edite o HTML de 7 MB na mão.
06 · Estrutura de 4 atos
Ato I quem somos · Ato II o que fazemos · Ato III como fazemos · Ato IV a oferta. Capa e sumário fora dos atos. É a espinha narrativa que impede o deck de virar lista de fatos.
O prompt mestre de construção
Cole depois que a estrutura da Etapa 1 estiver aprovada. Rode no Claude Code, dentro da pasta do projeto.
# CONSTRUIR O DECK Monte uma apresentação HTML a partir da estrutura aprovada acima. Não é uma landing page de scroll. É um deck navegável por tela. ## Arquitetura obrigatória - Palco fixo de 1600x900px numa div #deck, centralizada. Função escala() faz transform:scale(Math.min(innerWidth/1600, (innerHeight-40)/900)) e roda no resize. - Cada tela e uma <section class="chapa" data-t="Titulo" data-ato="I|II|III|IV">, position:absolute, inset:0, opacity:0. A tela atual recebe .ativa. Transicao: opacity .55s ease. - Navegacao construida em runtime lendo data-t e data-ato: progresso no topo, pontinhos por tela (losango marca inicio de ato), contador NN / TT, botoes anterior/proximo/indice/tela cheia. - Teclado: setas e espaco navegam, I abre o indice, F tela cheia, Esc fecha overlay, Home/End vao pro extremo. - Touch: swipe horizontal com limiar de 60px. - location.hash guarda o numero da tela e restaura no load. - Todo dado estruturado (listas, tabelas, series) vive em constantes JS no topo do script. As telas sao geradas por template a partir delas. ## Sistema visual Fundo [COR]. Acento unico [COR] usado em numero, eyebrow e CTA. Titulo em [FONTE DISPLAY], corpo em [FONTE SANS], numero e label tecnica em [FONTE MONO] com font-variant-numeric:tabular-nums. Borda 1px [COR]. Sem sombra tradicional — profundidade vem de camada de cinza e glow do acento. Componentes reutilizaveis: .eyebrow (linha + label mono maiuscula), .card, .kpi (valor mono grande + label), .tag, .fonte (rodape de fonte em mono 11px), .rodape fixo com nome do documento e data. ## Interativos Implemente apenas os que o conteudo pede: - timeline clicavel com barra que preenche ate o marco selecionado - galeria com troca de imagem no hover e lightbox com texto ao lado - lista mestre-detalhe (clica no item da esquerda, detalha na direita) - simulador com slider + segmented control que recalcula KPIs e barras - grafico SVG desenhado por JS a partir dos dados, com tooltip no hover - donut SVG com stroke-dasharray e destaque ao passar o mouse Nenhuma biblioteca externa. SVG na mao, JS puro. ## Pipeline de arquivos src/deck.template.html - fonte editavel, imagens como {{img:nome}} src/build.py - troca marcador por data:base64 e gera o final img/src/ - originais img/opt/ - otimizadas (largura max 1600, qualidade 78) [NOME]_Deck.html - saida, arquivo unico, abre offline Crie o build.py. Ele le o template, resolve todo {{img:nome}} pra data URI, injeta o JSON de imagens no lugar de {{IMGJSON}} e escreve a saida. Nunca edite o HTML final na mao. ## Acessibilidade e degradacao - prefers-reduced-motion: reduce desliga transicao e animacao - foco visivel com outline na cor de acento - alt em toda imagem - contraste minimo AA no texto de corpo ## Ordem de trabalho 1. Monte o esqueleto: template, build.py, navegacao, 2 telas de teste. Rode o build e me mostre que abre. 2. Depois construa as telas em blocos de 4, do Ato I ao IV. 3. Ao final de cada bloco, rode o script de screenshot e me mostre. Nao invente numero. Se faltar dado, pare e pergunte.
O loop de revisão
Deck de 22 telas não se revisa abrindo no navegador e clicando 22 vezes. Peça ao Claude um script de screenshot com Playwright: ele abre o arquivo, navega tela por tela, dispara os interativos e salva um JPG de cada. Você olha as 22 imagens de uma vez e aponta o que está errado.
Crie src/shots.py: abre o HTML final com Playwright em viewport 1600x940, navega por cada tela chamando a funcao ir(i), espera 1.3s, e salva img/shots/sNN.jpg com qualidade 70. Nas telas com interativo, dispare o estado antes do print (mover o slider, selecionar um item da lista, abrir o lightbox). Capture pageerror e console.error numa lista e imprima no final — quero saber de erro de JS que nao aparece na tela. Depois rode e me mostre as imagens.
Os erros que aparecem sempre
| Sintoma | Causa | Correção |
|---|---|---|
| Texto estourando a tela | Conteúdo escrito sem respeitar o palco de 900px de altura | Regra fixa: no máximo 6 blocos por tela. Se não cabe, vira duas telas. |
| Arquivo de 40 MB | Imagem original em base64, sem otimizar | Largura máxima 1600px, qualidade 78, JPG pra foto e PNG só pra logo. |
| Animação disparando na tela errada | Animação presa ao load da página, não à troca de chapa | Prefixar o seletor com .ativa e reiniciar barras/contadores dentro da função de navegação. |
| Gráfico some no celular | SVG com largura fixa dentro do palco escalado | Usar viewBox + width:100% e calcular posição em coordenada do viewBox, nunca em pixel de tela. |
| Número diferente entre duas telas | Valor escrito à mão em dois lugares | Um dado, uma constante. As duas telas leem da mesma variável. |
| Lightbox não fecha no Esc | Listener de teclado só cobrindo navegação | Tratar Esc antes de tudo no handler global, fechando índice e lightbox. |
A IA não é uma ferramenta que a empresa usa.
É o sistema em que ela roda.
Um deck é uma tarefa. O que muda o negócio é a operação inteira montada assim — proposta, atendimento, relatório, conteúdo. Dentro do paxyOS eu mostro a tela, não o slide: cada estrutura vem com o prompt, o arquivo e o passo a passo de instalação.
O movimento se ajusta
no Claude Design.
Na etapa 2 o deck já funciona. Ele só não tem ritmo. O Claude Design é onde você para de descrever movimento em texto e passa a ver a tela, clicar no elemento e ajustar — o timing você sente, não calcula. É a diferença entre "slide com fade" e apresentação que respira.
Como entrar
Abra um canvas de design
No Claude Code, chame a skill de design apontando pras telas que você quer refinar. Cada tela vira um artboard num canvas com pan e zoom — você vê as 22 lado a lado, coisa que o navegador nunca te mostra.
Ajuste no visual, não no código
Clica no elemento, muda espaçamento, tipografia, cor, ordem de entrada. Painel de propriedades, edição de texto inline, desfazer. É aqui que você percebe que o KPI está 8px baixo demais — coisa que não se enxerga lendo CSS.
Traga o refinamento de volta pro template
O que você aprovou no canvas volta como ajuste em
src/deck.template.html. Roda o build de novo, roda os screenshots, confere. O canvas é a bancada; o template continua sendo a fonte da verdade.
As cinco camadas de movimento
Todo deck bom tem exatamente essas. Mais que isso vira videoclipe e a pessoa para de ler.
Camada 1 · Entrada em cascata
Os blocos da tela sobem 18px e aparecem em sequência, 80ms de atraso entre eles. Dá tempo do olho pousar em cada bloco na ordem que você escolheu.
700ms · cubic-bezier(.2,.7,.2,1) · stagger 80ms · máximo 8 elementos
Camada 2 · Revelação de dado
Barra que cresce da esquerda, número que conta até o valor, linha da timeline que preenche até o marco. Reinicia toda vez que a tela é aberta — nunca no load da página.
1200ms na barra · easing igual ao da entrada · reset no ir()
Camada 3 · Desenho de gráfico
O caminho SVG desenha da esquerda pra direita com stroke-dasharray animado. O donut abre por segmento. Serve pra criar expectativa antes do número aparecer.
900ms a 1400ms · só no primeiro acesso à tela
Camada 4 · Estado no hover
Card levanta 4px, borda acende no acento, imagem dá zoom de 4%, item da lista destaca. Resposta imediata: 200 a 250ms. Mais lento que isso parece travado.
200–250ms · transform e border-color, nunca width/height
Camada 5 · Ambiente
Uma camada de fundo em canvas ou CSS que se move devagar e nunca compete com o conteúdo: linhas topográficas, malha de pontos com deriva, gradiente que pulsa. Opacidade baixa, sempre.
Opacidade < 0.55 · desliga em prefers-reduced-motion
Camada 0 · O que não animar
- Título da tela — ele precisa estar legível no frame 1
- Rodapé, contador e navegação
- Qualquer coisa que a pessoa vai clicar nos primeiros 300ms
- Texto de fonte e nota de rodapé
O prompt de refino
# REFINO DE MOVIMENTO Abra as telas [N a N] num canvas de design, um artboard por tela, pra eu ajustar visualmente antes de voltar pro template. ## Grade de timing (aplicar em tudo) Troca de tela .................. 550ms ease Entrada de bloco ............... 700ms cubic-bezier(.2,.7,.2,1) Atraso entre blocos ............ 80ms (max 8 blocos) Barra / medidor ................ 1200ms mesma curva Desenho de grafico ............. 900 a 1400ms Hover / estado ................. 200 a 250ms Ambiente de fundo .............. loop lento, opacidade < 0.55 Uma unica curva de easing no deck inteiro. Nada de "bounce", nada de rotacao 3D, nada de elemento que entra da direita. O movimento e sempre: sobe um pouco e aparece. ## Regras 1. Toda animacao de entrada e prefixada por .ativa — dispara quando a tela abre, nao quando a pagina carrega. 2. Barras, contadores e graficos resetam na funcao de navegacao. Voltar pra tela anterior e voltar toca de novo. 3. Titulo, rodape e navegacao nunca animam. 4. Animar so transform e opacity. Nada de animar width, height, top ou left. 5. @media (prefers-reduced-motion:reduce) desliga transicao, animacao e o fundo animado. O conteudo continua legivel. 6. O ambiente de fundo para de desenhar quando reduced-motion esta ligado — nao so fica invisivel, para o requestAnimationFrame. ## O que eu quero ajustar no canvas - ordem de entrada dos blocos em cada tela - espacamento vertical entre eyebrow, titulo e corpo - tamanho e peso dos KPIs - alinhamento dos graficos com o texto ao lado - respiro das margens do palco Depois que eu aprovar, traga tudo de volta como edicao no src/deck.template.html, rode o build e os screenshots.
Ative reduzir movimento no sistema operacional e abra o deck. Se alguma informação sumiu, alguma barra ficou em zero ou algum número ficou vazio — a animação está carregando o conteúdo em vez de apresentar ele. Corrija antes de entregar. Vai ter alguém na reunião com essa configuração ligada.
Como isso chega
na mão de quem decide.
O arquivo
Um HTML único, entre 4 e 8 MB. Abre com clique duplo, sem servidor, sem internet, sem instalar nada. Cabe em e-mail e em WhatsApp Web.
A instrução
Uma linha junto do arquivo: "setas ou espaço navegam · I abre o índice · F tela cheia · no celular, deslize". Ninguém descobre sozinho.
As variantes
Cenário diferente (outra taxa, outro preço) não é outro deck. É um script que gera a variante a partir do mesmo template. Você mantém um só.
Checklist antes de mandar
O caminho inteiro, em uma tabela
| Etapa | Onde acontece | Entregável | Tempo |
|---|---|---|---|
| 01 · Input | Conversa com o Claude | Briefing preenchido + lista de buracos resolvida + estrutura de 4 atos aprovada | 40–90 min |
| 02 · Construção | Claude Code, na pasta do projeto | src/deck.template.html, build.py, shots.py, imagens otimizadas e o HTML final rodando | 2–4 h |
| 03 · Refino | Canvas do Claude Design | Timing calibrado, entradas em cascata, gráficos desenhando, reduced-motion testado | 1–2 h |
| 04 · Entrega | E-mail ou link | Arquivo único + linha de instrução + variantes de cenário | 15 min |