VIBE IN PUBLIC_

Vibe coding para não misturar cadastro com checkout

Sem plano free, conta é assinante. Na landing do Bookbase, Assinar 2 vezes caiu no registro e o sistema só sabia mandar para o login. Separe Entrar de Assinar.

Clicar Assinar no hero, cair no pricing, clicar Assinar de novo e ir parar numa tela de registro é o fluxo errado para quem já decidiu pagar. Sem plano free, conta e assinante são a mesma coisa. Os 2 botões do topo não podem apontar para o mesmo cadastro.

Gabriel testou esse caminho na landing do Bookbase, extensão de favoritos para Chrome, Brave, Edge e Opera. A sessão tem 91 min e ele ainda ajustava a página. O produto, nesta altura, era a extensão e 1 landing, sem conta gratuita. O agente mesmo assim tinha colado o fluxo genérico de autenticação em cima da jornada de compra. Isso aparece também em vibe coding para nao dar select em 1000 favoritos a cada foco.

Assinar 2 vezes e cair no login

Ele descreveu o caminho depois de percorrer a landing:

quando clica em assinar no Hero e eu vou pro pricing e clico em assinar de novo, o sistema me manda registrar. Se eu não tô registrado e faço um registro ali na hora, ele só tá preparado para me mandar pro login.

2 cliques em Assinar, e o destino é o de quem só queria criar usuário. O registro abre, mas o passo seguinte para quem aceitou pagar ainda não existe: o sistema conhece o login e devolve o visitante para ele.

talvez tenha que ter uma jornada diferente para esse fluxo de checkout que seja diferente do fluxo de de se cadastrar e logar.

A IA do painel descreveu o mesmo problema: misturar o fluxo genérico de autenticação com a jornada de compra gera atrito para quem acabou de decidir pagar. A frase é dela. Gabriel aceitou o diagnóstico porque o clique já tinha mostrado o destino errado. Isso aparece também em testes automatizados. Vale ver como isso terminou em vibe coding para o play console contar o testador. Foi o mesmo caminho de vibe coding para nao deixar o agente puxar dashboard antigo.

Conta no Bookbase já é assinante

O Bookbase não tem plano free. A IA escreveu a consequência: como não há conta gratuita, ter uma conta no sistema implica que ela é um assinante. Gabriel respondeu "Verdade." Foi o mesmo caminho de web scraping.

Ele tirou daí a regra de sessão:

não vai ter como o usuário tá logado sem ter o plano pro. A única possibilidade é de logar após contratar o plano pro.

A IA tinha escrito "contrariar" no texto da tela. Ele corrigiu: "Contratar, né?" A sequência que ele queria era contratar o pro e só então logar. Quem tenta logar antes de pagar está num estado que o produto não deveria modelar.

Ele mandou o Entrar do topo apontar para o dashboard de quem já comprou.

Para quem já é cliente, já comprou o pro clic entrar no topo. Para quem é novo cliente, clica em assinar.

A IA ainda tinha deixado Assinar cair em "Pricing, tela de cadastro". Ele mandou ajustar. Entrar aponta para o dashboard de cliente. Assinar aponta para pricing e checkout. São 2 fluxos. Juntá-los na mesma tela de registro produziu o loop para o login. Vale ver como isso terminou em pagina de captura de email. O mesmo problema apareceu em como criar um prompt. Foi o mesmo caminho de open graph.

OS 2 BOTÕES

Entrar

Quem já comprou o pro, destino no dashboard

Assinar

Cliente novo, pricing e depois checkout

Quem já leu não colar o user do Auth no domínio reconhece o primo desta lição. Lá o erro é tratar o usuário de autenticação como modelo do negócio. Aqui o erro é tratar o fluxo genérico de cadastrar e logar como jornada de quem vai pagar. Isso aparece também em arr o que é. Foi o mesmo caminho de expo eas build. Isso aparece também em pwa o que é.

Vibe coding sem freemium no early

Na mesma sessão ele recusou o plano free.

vou deixar sem frem com plano menor, com preço acessível para validar.

Ele disse "frem" e falava de freemium. Citou conteúdo do Okamoto sobre o assunto e disse que o Bookbase está muito early para carregar um plano gratuito. Preferiu direito de arrependimento a uma conta que existe sem pagar. Não falou o preço do plano menor. O critério que ficou foi preço acessível o bastante para validar, sem abrir um 3º estado de usuário. Isso aparece também em vibe coding para saber quantos pagantes cobrem a infra. Vale ver como isso terminou em produto minimo viavel. O mesmo problema apareceu em hora tecnica.

No vibe coding você monta a landing rápido e o agente cola o kit de auth no botão de compra. Gabriel tomou a decisão de arquitetura: separar Entrar de Assinar, e tratar conta como assinante. O fluxo novo ainda não foi para produção. Ele seguia ajustando a landing. Stripe apareceu como pergunta futura. Foi o mesmo caminho de chrome exportar favoritos. O mesmo problema apareceu em stripe funciona no brasil. Foi o mesmo caminho de vibe coding para nao fingir 12 testadores com emulador. Foi o mesmo caminho de vibe coding para checkout stripe fora do brasil.

Os 2 estados antes de pedir o Assinar

Antes de pedir à IA "coloca Assinar no hero", escreva os 2 estados que o produto admite. Se não há conta gratuita, os estados são visitante e assinante, sem o logado sem plano. Vale ver como isso terminou em deepseek vs claude.

OS 2 ESTADOS

  1. 01Visitante clica Assinar e vai a pricing e checkout
  2. 02Assinante clica Entrar e vai ao dashboard

- No topo, Entrar só para quem já comprou, com destino no dashboard. - Assinar só para quem é novo, com destino no pricing e depois no checkout, sem a tela genérica de registro e login.

Se o agente devolver "Pricing, tela de cadastro" no mesmo botão, recuse. Peça a jornada de checkout como caminho próprio. No vibe coding, a prova é o clique do começo ao fim, como ele fez: Assinar no hero, pricing, Assinar de novo. O destino depois do registro diz se você ainda está no fluxo de auth. O mesmo problema apareceu em vibe coding para nao trocar modelo quando o lento e o gate.

Dá para ver o teste e o recorte do plano free na live de 91 min. A ordem que ele deixou gravada começa pela pergunta se existe conta sem pagar, e só depois desenha os 2 botões da landing.