cd ~/

Como este site foi construído

Um bônus: o portfólio documentando a própria construção. Do brainstorm ao deploy, o processo inteiro está aqui — e tudo é público, no repositório, commit a commit.

O produto é o método

Um portfólio de product builder tem um problema honesto: qualquer um diz que domina IA. A prova não é a tela bonita — é o processo que fez a tela existir e continuar de pé em produção.

Então a decisão foi construir este site com o mesmo método que ele descreve, e deixar o rastro aberto: spec, plano, execução e revisão, tudo commitado no repositório público. Esta página é o tour por esse rastro.

O pipeline, etapa por etapa

Nada aqui foi "pedir código pra IA e colar". Cada mudança passou por um fluxo fixo de skills encadeadas, com pontos de decisão que são meus, não do agente.

pipeline.txt
  1. brainstorming

    Antes de qualquer código, uma conversa guiada transforma a ideia em requisito. Eu aprovo o design antes de seguir — nenhuma linha nasce sem esse aceite.

  2. spec + self-review

    O design aprovado vira um documento de especificação, que passa por uma auto-revisão (placeholders, contradições, escopo) antes de ser commitado em docs/superpowers/specs/.

  3. plano em tasks

    A spec vira um plano com tarefas pequenas, cada uma com o código e o comando de verificação. É o mapa que um executor segue sem precisar de contexto meu.

  4. execução por subagentes

    Cada tarefa é executada por um subagente novo, com revisão em duas etapas: primeiro a conformidade com a spec, depois a qualidade do código. O que não passa, volta.

  5. humanizer na copy

    Todo texto do site passa por uma skill que remove marcas de escrita de IA. Eu aprovo cada ajuste — a voz do portfólio é minha, não do gerador.

  6. verificação antes de concluir

    Nada é dado como pronto sem evidência: build, lint e o olho no browser. Só depois vem o commit.

# ferramentas

  • Claude Code no fluxo diário
  • skills encadeadas (superpowers)
  • memória de projeto que vira regra escrita
  • git worktrees pra isolar o trabalho

A linha do tempo, commit a commit

git log --oneline

# Do brainstorm ao plano

# Da spec ao plano em 10 minutos: desenho antes de qualquer código.

  • 63fed5fdocs: spec do portfólio V1 (design aprovado em brainstorming)
  • 1f77b05docs: plano de implementacao V1 (16 tasks)

# Fundação: sistema antes das telas

# Tokens, conteúdo tipado e componentes base — a estrutura primeiro.

  • daa5a67chore: scaffold Next.js + TS + Tailwind
  • 17c93d7feat: design tokens dark/ambar, fontes Inter + JetBrains Mono
  • 9d9eca0feat: conteudo tipado (site, home, caso crm)

# Home e o caso /crm

# Home escaneável e o estudo de caso do CRM, seção a seção.

  • 6e0b324feat: home hero + prova em numeros
  • 6700d80feat: /crm hero e problema
  • 26bf84efeat: /crm stack + diagrama ascii

# SEO, acessibilidade e no ar

# SEO, humanizer na copy e o domínio próprio: no ar no dia seguinte.

  • 7480d05feat: seo completo, og image, favicon, analytics, sitemap
  • 33a724bstyle: passe humanizer no copy (11 ajustes aprovados pelo usuario)
  • 99ee995chore: dominio de producao joaoleal.dev (canonical/og/sitemap)

# Prova real: prints com dados fictícios

# Prints reais com dados mascarados na camada de rede — e 86% mais leves.

  • 4f10ca6feat: prints reais do CRM com dados ficticios (6 de 7 modulos)
  • 9fef57cperf: prints otimizados (2.6MB -> 0.37MB, -86%)
  • 65a0dfcfeat: print do modulo Documentos + prints regerados com mascara na rede

# Segundo caso: /socio

# Novo ciclo — brainstorm, spec, plano — e componentes extraídos pra reuso.

  • 22bfb32docs: spec da pagina /socio (Socio & builder, Drakes + Ortho)
  • 5bc72darefactor: CaseHero e BackLink genericos (compartilhados por /crm e /socio)

# Esta página

# O mesmo método documentando a si mesmo. Você está lendo o resultado.

  • efa5abddocs: spec da pagina /making-of (bonus: como o site foi construido)

Os artefatos, abertos

Spec do portfólio V1

O design aprovado no brainstorming, antes da primeira linha de código.

ver no GitHub (abre em nova aba)

Plano V1 (16 tasks)

A spec quebrada em tarefas pequenas, cada uma com código e verificação.

ver no GitHub (abre em nova aba)

Spec da página /socio

O ciclo do segundo caso do site, do mesmo jeito: desenho antes de codar.

ver no GitHub (abre em nova aba)

Plano /socio (8 tasks)

Plano da página dos negócios em que sou sócio, tarefa a tarefa.

ver no GitHub (abre em nova aba)

Spec desta página

A recursão: a especificação do /making-of que você está lendo agora.

ver no GitHub (abre em nova aba)

Plano desta página

E o plano que a construiu — o mapa exato deste tour.

ver no GitHub (abre em nova aba)

AGENTS.md

Regra nascida de um imprevisto: avisa toda sessão que o Next aqui não é o do treino da IA.

ver no GitHub (abre em nova aba)

Bastidores

Mascarar no DOM não bastava

Os prints do CRM precisavam de dados fictícios. A primeira tentativa trocava o texto na tela — e falhava: o sistema re-renderiza e restaura o dado real no meio da captura.

A solução foi mascarar uma camada antes: interceptar as respostas da API e reescrevê-las antes de chegarem no app. Ainda assim, cada imagem foi revisada a olho antes de publicar. Foi assim que os vazamentos foram pegos.

O framework mudou embaixo do plano

O plano assumia uma versão do Next.js; o scaffold instalou a seguinte, com convenções diferentes. Em vez de brigar com o agente, a lição virou arquivo.

O AGENTS.md passou a avisar toda sessão: leia a doc da versão instalada antes de escrever código. O imprevisto virou regra permanente.

A voz é minha, não do gerador

IA escreve rápido, mas com tiques reconhecíveis. Toda a copy passou por uma skill que caça essas marcas — foram 11 ajustes só na primeira passada, aprovados um a um.

O critério de o que soa como eu continua sendo meu. O agente propõe; eu decido.

Nenhuma sessão começa do zero

Cada incidente que custou caro virou memória escrita: o OneDrive segurando lock de arquivo no install, o proxy da Cloudflare conflitando com o SSL da Vercel.

Da próxima vez, o problema já vem resolvido no contexto. O conhecimento fica no projeto, não na minha cabeça.

Feito à vista de todos

Esta página não descreve o método de fora: ela saiu dele. Brainstorm, spec e plano commitados, execução por tarefas, verificação antes do commit — o mesmo fluxo dos outros dois casos.

E tudo está aberto. O repositório é público: dá pra ler cada spec, cada plano e cada commit que levou a este parágrafo.

Ver o repositório no GitHub (abre em nova aba)

Falar com João