Site de consultório de psicologia — design e código, sozinho

Um site de uma página, da referência ao deploy em uma semana, sozinho.

Site de uma página para um consultório de psicologia clínica

Levei o site de uma página de uma psicóloga clínica da primeira referência ao deploy em uma semana, sozinho: moodboard, guia de estilo, uma página de doze seções e uma rampa de doze tokens, depois construído como export estático em Next.js sobre treze componentes de seção próprios. O mecanismo de agendamento é código, não enfeite — sete deep links de WhatsApp distintos, um por ponto de entrada. As imagens são geradas por IA; não havia fotografias disponíveis.

Função
Sole designer and sole developer
Período
nov. de 2025 – dez. de 2025
Stack
TypeScriptTailwindFigma
Evidência
  • No ar
  • Design + código
  • Código
  • Stack de produto
  • Arquivo de design

Ver o build (host de backup)Código-fonte

Uma psicóloga clínica que atende sozinha precisava de um site de uma página capaz de transformar uma visita em uma sessão marcada. Não havia CMS a construir, nem login, nem backend: o mecanismo de agendamento inteiro seria o WhatsApp. O trabalho era fazer uma única página carregar o posicionamento, o acolhimento e a primeira frase de uma conversa — e depois construí-la.

Trabalho freelance sob a Locuz, depois da fase Spaceapps. Design e código sozinho: a pesquisa de referências, o moodboard, o guia de estilo, o design da página e o build de produção foram todos meus. Não havia marca pré-existente, e a única fotografia que recebi foi uma foto de perfil de 150×150.

A landing page completa de doze seções do consultório de psicologia, demonstrando navegação, rolagem suave, detalhes dos serviços e interação com o acordeão de FAQ.
Sessenta segundos, silencioso e em loop — a landing page de doze seções projetada e construída como export estático, do topo ao rodapé.

O briefing

Uma página, em português, para uma psicóloga clínica que atende sozinha. Ela precisava fazer o que o site de um consultório faz quando não existe recepção atrás dele: dizer quem ela é e quem ela atende, nomear os sentimentos com que as pessoas de fato chegam, explicar a abordagem, listar os planos aceitos, responder as dúvidas que travam a primeira mensagem e mostrar onde fica. Doze seções no fim, e cada uma precisando justificar o lugar numa página que ninguém rola duas vezes.

Sem marca, uma foto de 150×150, duas semanas

O projeto começou de quase nada: sem logo, sem paleta, sem tipografia definida, e uma foto de perfil de 150×150. Então a primeira metade do trabalho foi construir aquilo de que o design seria feito — uma passagem de referências visuais, um moodboard, estudos de logo e um guia de estilo com a paleta, o par Cormorant Garamond e Montserrat, e os grids de desktop e mobile. Por baixo, uma rampa de doze passos em areia quente, com aliases semânticos que resolvem em claro e em escuro.

12
seções na página
13
componentes de seção próprios
9
primitivos shadcn por baixo
30
tokens de design autorais

Com o design fechado, marquei o arquivo como liberado para DEV e construí eu mesmo, como export estático em Next.js: treze componentes de seção próprios sobre nove primitivos shadcn, três páginas legais e um 404 próprio. Ele foi publicado na primeira semana, e a segunda semana foi de ajustes e correções que ela pediu. Desenhar e construir a mesma página tem uma vantagem específica, e não é velocidade. É que nada é desenhado sem poder ser construído, e nada é construído abandonando em silêncio o que foi desenhado.

A rampa de tokens de design e guia de estilo: títulos em Cormorant Garamond, corpo em Montserrat e paleta neutra em areia quente.
Doze segundos, silencioso e em loop — a rampa de tokens de doze passos em areia quente e pareamento tipográfico criados para o consultório.

O agendamento é código, não enfeite

O WhatsApp era o caminho de conversão inteiro, o que significa que o problema de design interessante não era o botão — era o que a mensagem já diz quando o aplicativo abre. Quem precisa redigir sozinho a primeira mensagem para uma psicóloga é quem fecha a aba. Então cada ponto de entrada do site abre o WhatsApp com sua própria mensagem pré-escrita, formulada para o lugar de onde a pessoa saiu: sete deep links distintos, quatorze instâncias renderizadas na página publicada.

A minha favorita está no 404, onde a mensagem pré-preenchida não fala de agendamento:

não estou conseguindo acessar o site, pode me ajudar?
A mensagem pré-preenchida do WhatsApp na página 404

Um link quebrado no site de um consultório é uma pessoa que queria alguma coisa e não conseguiu. Entregar a ela uma frase que descreve a situação real custa uma linha de código e transforma a pior página do site em um ponto de entrada que funciona.

A responsividade foi feita no navegador, não no Figma

A prancheta de mobile no arquivo de design está vazia, e isso não é uma omissão que eu queira esconder — foi assim que este projeto foi feito. A página desktop foi desenhada em fidelidade total e o comportamento responsivo foi escrito direto no código, onde os breakpoints de fato existem; o HTML publicado carrega 177 ocorrências de utilitários responsivos. É um método razoável quando a mesma pessoa desenha e constrói, e um método ruim para entregar a outra pessoa. Em projeto com desenvolvedor separado, a prancheta é desenhada.

A experiência mobile responsiva em 375px de largura, destacando alvos de toque de 48px, navegação móvel e utilitários de layout responsivo Tailwind.
Doze segundos, silencioso e em loop — a visualização mobile resolvida diretamente no código com 177 utilitários responsivos Tailwind.

O que isto não é

  • Não é backend. O arquivo Express do repositório é sobra morta de template e nunca foi publicado; o site é um export estático servido por Apache.
  • Não é um site com tema. O arquivo de design resolve um conjunto completo de tokens claro e escuro, mas a página publicada não traz nenhum utilitário de modo escuro e a biblioteca de tema fica sem uso. Foi decisão de escopo sob prazo curto, não funcionalidade.
  • Não é análise competitiva. O grande quadro de benchmark do arquivo são dez capturas de tela inteiras lado a lado — referência visual, nada anotado e nada sintetizado.
  • Não é um design system de 1.189 tokens. Trinta tokens foram criados para este projeto; o resto daquele número são rampas herdadas que vieram com o arquivo base.
  • Não é analytics. Só o Google Tag Manager aparece na página publicada.
  • O arquivo base não é meu. Ele veio de um template de curso, que eu tornei pronto para produção com auto-layout e tokenização — e depois virou o arquivo padrão em todo lugar onde trabalhei.

O material que ninguém pediu

Um consultório não para de precisar de coisas quando o site sobe. Junto com o build eu produzi capas de destaques do Instagram, um cartão de visita e um passo a passo de quatro páginas para configurar o e-mail dela no Thunderbird, com mockups de celular anotados. Nada disso estava no escopo. Tudo isso é a diferença entre entregar um site e entregar algo que alguém consegue realmente tocar.

Evidência

O build foi concluído, publicado, e continua inspecionável no meu próprio host. Ele nunca entrou no ar sob o domínio da cliente. As imagens são geradas por IA, ela não quis que representassem o consultório dela, e o domínio raiz acabou estacionado redirecionando para o perfil dela no Google. O projeto não foi pago. Eu tinha pedido fotografias e recebido uma foto de perfil de 150×150, então gerei as imagens em vez de deixar a data de entrega escorrer; ela não aceitou, e a relação terminou ali. O artefato é real e o código é público. A lição vale mais do que o projeto valeu: fotografia hoje é uma precondição que eu resolvo antes de começar, não uma dependência que eu contorno no design.