Pular para o conteúdo
Voltar para projetos

SoftCode

Site da software house da qual sou sócio: narrativa de scroll em oito cenas sobre um campo de partículas na GPU, com agendamento embutido.

Visitar site

Contexto

A SoftCode é a software house da qual sou sócio, e o site dela é a primeira coisa que um cliente vê antes de qualquer conversa. A tese da segunda versão é que o site seja a prova: uma casa que vende software feito à mão não pode se apresentar num template, então a home virou uma narrativa única de scroll e a primeira reunião passou a ser marcada ali mesmo, sem formulário de qualificação no caminho.

Papel

Sócio e responsável pelo site, do escopo ao deploy. Nesta versão isso incluiu o motor de cenas (uma fonte única define as oito faixas de scroll), o campo de partículas na GPU, o agendamento de ponta a ponta e a base bilíngue — e a manutenção depois da publicação.

Stack

  • Next.js
  • React
  • TypeScript
  • next-intl
  • Three.js
  • React Three Fiber
  • GSAP
  • Lenis
  • Zustand
  • CSS Modules
  • Zoom
  • Cloudflare Workers

Destaques

  • A home é uma narrativa de scroll em oito cenas, e as faixas de cada uma vivem num arquivo só: mudar onde uma cena começa não mexe nas fronteiras das vizinhas.
  • O campo de partículas roda na GPU e a contagem se adapta ao aparelho, pelo lado da textura de simulação: 6,4 mil no celular, 12,1 mil no desktop.
  • Bilíngue por rota prefixada (`/pt` e `/en`), e o caminho também é traduzido: `/servicos` responde por `/services`. Não é troca de string sobre a mesma URL.
  • A reunião de 30 minutos é marcada no próprio site, e a grade de horários mora num módulo só, importado pelo calendário no cliente e pelas duas rotas de API. É o que impede o cliente de oferecer um horário que o servidor recusa.
  • A sala do Zoom é criada por Server-to-Server OAuth em modo best-effort: se o Zoom não responde, a reserva já confirmada continua de pé e cai numa sala alternativa.
  • Os dois sites entregues são percorridos ao vivo dentro de uma moldura na página, e o escopo acende conforme a parte correspondente passa — em vez de um recorte parado da primeira dobra.
  • Com `prefers-reduced-motion` a experiência inteira não monta: sobra a casca semântica, que é a mesma coisa que quem está sem JS recebe.
  • É a casa que entregou a Barbalog e a LyftConnect, e as duas creditam a SoftCode no rodapé.

Outros cases