Projetoscaso 05 / 05 · conteúdo · engenharia

A máquina do 1%

Conteúdo gera atenção. Atenção vira lead, lead vira venda, venda vira nota fiscal. Cada passagem que dependia de alguém lembrar de fazer virou código.

papel
autor único do código
período
2025–2026
peças
guias · CRM · e-book · API do curso · formulários
status
em produção
código
privado
  • Next.js
  • NestJS
  • Postgres
  • MongoDB

01O problema

O 1% começou como todo perfil de conteúdo: link na bio, ferramenta de automação de terceiro, planilha e muito trabalho manual.

  1. conteúdogera atenção
  2. leada atenção vira lead
  3. vendao lead vira venda
  4. nota fiscala venda vira nota
nenhuma etapa depende de alguém lembrar de fazer

Com 106 mil pessoas no Instagram, o manual vira gargalo. E o dado mais valioso do negócio, quem são os leads e de onde vieram, ficava preso em ferramenta alheia.

Cada passagem que dependia de alguém lembrar de fazer virou código.

02 · O funil

O funil.

Do Reel à nota fiscal. Em amarelo, as duas peças que eu escrevi do zero e onde o dado mora.

O funil do 1% ProgramadorConteúdo com link de origem leva ao guia gratuito; o lead vai para o CRM; o upsell leva ao checkout com UTM completa; o webhook da venda chega na API do curso, que emite nota fiscal, libera acesso e alimenta os formulários.Reel · story · postlink com ?source=guia gratuito10 guias, 1 rotaCRM1 lead, N capturase-book · cursoupsell no obrigadocheckoutUTM completa até o fimwebhook da vendaaprovada ou reembolsadaAPI do cursoNestJS · idempotentenota fiscalNFS-e emitidaacesso + tagaluno liberadoformuláriossatisfação · sorteionenhuma etapa depende de alguém lembrar de fazer

03 · Decisões

O que eu decidi.

  1. ?source=reels vira UTM completa.

    Link curto por canal (reels, story, post, bio, e-mail, WhatsApp) é reescrito em parâmetros UTM e repassado ao checkout. Dá para saber qual formato de conteúdo vende.

  2. Guia é dado, não página.

    Os 10 guias gratuitos saem de um arquivo de dados e de uma rota dinâmica com blocos reutilizáveis. Cada guia tem imagem Open Graph própria, dados estruturados e entra no sitemap sozinho.

  3. Lead é um, captura são muitas.

    Deduplicação por e-mail, e cada captura vira um evento com a origem. Uma pessoa que baixou três guias é um lead com três eventos, não três leads.

  4. Se o CRM cair, o lead não some.

    A landing manda o lead com timeout de 5 segundos. Se falhar, o payload inteiro fica registrado para reprocesso manual.

  5. Webhook idempotente.

    Venda aprovada cria a nota fiscal e libera o acesso; reembolso tira. O reprocesso do sorteio confere a tag antes de aplicar, então rodar duas vezes não duplica nada.

  6. Ferramenta interna com segurança de produto.

    O CRM tem token curto com refresh rotativo, senha em argon2id, limite de tentativa por e-mail e por IP, cookies __Host- e uma trava que impede rebaixar o último administrador.

04 · Resultado

Em números.

  • 14 mil

    leads num CRM próprio, com a origem de cada captura

  • 10

    guias gratuitos em uma rota só

  • R$ 40 mil+

    em vendas do Dev de Verdade

  • 163

    páginas no e-book Fluente em Claude

Sobre este caso

  • Nenhum dado de lead aparece aqui.

stack completa · código privado

  • Next.js
  • React
  • NestJS
  • Drizzle
  • Mongoose
  • PostgreSQL
  • MongoDB
  • Zod
  • Docker
  • Railway