VIBE IN PUBLIC_

Como usar vibe coding para confirmar antes de ação que gera custo

O builder só liberou o arrastar e soltar da agenda com uma condição: confirmação editável antes de reagendar, porque cada reagendamento gasta chamada paga.

Quando uma ação de tela dispara uma chamada de API paga, o erro de mira do usuário sai da sua conta. A regra que sai daí cabe em uma frase: ação que gera cobrança pede um passo de confirmação antes de executar, e essa confirmação precisa deixar o usuário corrigir o destino ali mesmo, sem desfazer o gesto e começar de novo.

Quem impôs essa regra ao vivo foi Thiago, enquanto a IA construía a agenda de publicações do produto. Com a agenda pronta, a IA ofereceu o passo seguinte: dava para colocar arrastar e soltar para reagendar uma publicação. Ele gostou da ideia e segurou a implementação.

A condição que entrou antes do "pode fazer"

A primeira reação dele foi pedir algum tipo de autorização, um aviso, talvez um checkbox marcado antes de o arrastar ficar ativo. Ele se corrigiu no meio da própria frase e chegou no que queria de verdade:

eu quero que na hora que a pessoa arraste e coloque em algum lugar, quando ele colocar em algum lugar, vai aparecer para ele a confirmação, se realmente deseja reagendar para o dia tal horário e com a possibilidade já dele editar

O usuário arrasta a publicação para um horário e solta. Em vez de o reagendamento acontecer, abre uma confirmação mostrando para qual dia e qual horário aquilo vai, o que já seria o "tem certeza?" de sempre. Dentro dessa mesma confirmação, ele ainda troca a data e o horário antes de confirmar. Quem errou a mira no arrastar corrige no campo, sem cancelar e sem repetir o gesto. Isso aparece também em dnd kit react.

O motivo é o custo, e ele diz isso em voz alta

O reagendamento conversa com o provedor da API de publicação, e essa conversa consome chamada paga. Daí a frase que é o coração da decisão:

Essa forma evita do usuário reagendar errado e gastar a chamada à toa

Numa agenda comum, um arrastar errado se resolve sozinho: o usuário desfaz, refaz e ninguém paga nada por isso. Ali, o gesto errado já virou crédito gasto antes de ele perceber que errou. A confirmação editável separa o gesto da cobrança e enfia a chance de correção no meio dos dois.

Vibe coding é descrever a feature e descrever a proteção junto

A parte fácil do vibe coding é pedir a funcionalidade. "Coloca arrastar e soltar na agenda" é um pedido que qualquer pessoa faz, e a IA entrega. O pedido dele veio com uma segunda camada: onde aquilo podia doer, e o que deveria acontecer antes de doer. O mesmo problema apareceu em vibe coding para calcular custo real de api de video antes de usar. Isso aparece também em vibe coding para skill que gera landing page e ads.

A IA tinha oferecido o arrastar e soltar como próximo passo natural, e do ponto de vista de produto a oferta estava correta. Ela não tinha como saber, sozinha, que ali existia uma decisão de negócio, porque cada reagendamento vira crédito gasto com o provedor. Quem estava construindo sabia, transformou isso em requisito antes de a primeira linha existir, e por isso a confirmação nasceu junto com a feature em vez de virar remendo depois do primeiro cliente reclamar. A pergunta que não dá para delegar é quanto custa quando o usuário errar.

O mesmo reflexo na pergunta seguinte

Logo em seguida ele quis outra coisa na agenda, mostrar também as publicações que já saíram, como o Google Calendar mostra os eventos que já passaram. Em vez de pedir direto, perguntou antes: "eu gostaria de saber se isso tem algum custo para nós". A resposta foi que mostrar o histórico no calendário não consome chamada de publicação, e só então ele mandou implementar.

2 decisões seguidas, o mesmo movimento em ambas. Antes de aprovar qualquer coisa que toque no provedor, ele pergunta o preço, e isso aparece na fala dele como reflexo, sem checklist nenhum na mesa.

O que fazer com isso na sua próxima tela

Abra a lista de ações da sua interface e separe as que disparam algo pago: uma chamada de API cobrada por evento, um envio de e-mail transacional, uma geração de imagem, um webhook que aciona serviço de terceiro. Para cada uma, pergunte quanto custa o usuário errar o gesto uma vez.

Onde a resposta for "custa dinheiro", a ação precisa de 2 momentos, o gesto e a confirmação que executa. Esse é um requisito que você escreve no prompt, junto com o pedido da feature, porque em vibe coding o que não entra no pedido não entra no código. A confirmação que funciona mostra exatamente o que vai acontecer e deixa ajustar antes de aceitar. Um modal com data e hora preenchidos e editáveis resolve o erro de mira sem obrigar ninguém a refazer o caminho.

O campo editável é a parte que costuma ficar de fora. Confirmação com "sim" e "não" transforma um gesto errado em 2 gestos, e o segundo tem a mesma chance de errar que o primeiro. Com campo, o gesto errado vira uma correção digitada, e é ali que o usuário ganha controle fino sobre o que vai ser cobrado.

Na live, a feature saiu desse jeito. A IA entregou o arrastar e soltar com o modal perguntando se o usuário deseja mesmo reagendar depois que ele solta a publicação no horário escolhido, e com a data e o horário já preenchidos ali dentro, abertos para ajuste. O reagendamento só dispara depois dessa confirmação.

Vale assistir à live para ver o momento: a IA propõe, ele aceita e no mesmo fôlego devolve a condição que faltava. É essa condição que mantém a agenda funcionando sem queimar crédito do cliente por causa de um dedo escorregando na tela.