Pular para o conteúdo
Ecossistema Anahê · 01/05anahe.com.br

Anahê · Escritora

O site de um romance, que abre como um livro.

Papel
Design System & Full-stack
Ano
2026
Status
No ar

— Ecossistema

Quatro apps, uma API

Anahê Canavezzi é escritora e designer. Ela precisava de três sites públicos (o do livro, o do estúdio e o blog) e de um painel para cuidar de tudo sem depender de mim. Montei os quatro apps Next.js num monorepo com Turborepo e pnpm, servidos por uma única API NestJS e um único banco.

Decisão de arquitetura

Considerei micro-frontends e descartei: não há vários times nem composição em runtime. São quatro sites que compartilham design system, tipos e schemas, que é o caso de uso do Turborepo.

PostgreSQL · Redis · R2Railway · Cloudflare

Um painel e uma API cuidam do conteúdo dos três sites públicos.

— A história

Como construí cada parte

Capítulo 01Home

A abertura do livro

A Home começa com o livro fechado e as páginas viram para revelar o site. Cada página é cortada em fatias verticais que se curvam durante a virada, animadas com a Web Animations API. A abertura espera as fontes e as imagens do topo (no máximo 4 s) para nunca abrir pela metade, aparece só na primeira visita e é pulada com prefers-reduced-motion.

anahe.com.br
  • Web Animations API, sem biblioteca
  • Só na primeira visita

Capítulo 02O livro

A página do romance

Sinopse, ficha técnica, onde comprar, o primeiro capítulo em PDF e resenhas. O trecho do capítulo abre com uma capitular vinho, e atrás do mockup do livro uma estampa desliza devagar na diagonal.

anahe.com.br
  • Lojas, capítulo e resenhas vêm do painel
  • Dados em cache por tag, revalidados ao publicar

Capítulo 03Escritos

Escritos sem um segundo CMS

Contos e crônicas são o mesmo modelo Post do blog, com publishTo = WRITINGS. A Anahê escreve no mesmo editor e escolhe onde publicar. O site da escritora só filtra.

anahe.com.br
  • Um modelo, dois destinos
  • Filtro por tipo de texto

Capítulo 04Sobre · Contato

Sobre e contato

A bio e a trajetória vêm do painel. O formulário de contato separa o motivo (evento, imprensa, clube de leitura, escola ou outro) e passa por Turnstile, honeypot e limite de envios antes de virar um lead no painel.

anahe.com.br
  • Anti-spam em três camadas
  • Aviso de cookies só com os necessários

— Tecnologias

Front

  • Next.js 16
  • React 19
  • TypeScript
  • Tailwind CSS v4
  • next-intl

Monorepo

  • Turborepo
  • pnpm workspaces

API

  • NestJS 11
  • Prisma 7
  • PostgreSQL 18
  • Redis 7 · BullMQ

Infra

  • Vercel
  • Railway
  • Cloudflare
  • R2