Pular para o conteúdo
brorn
Nº 031 · Site de cliente

Site de clínica de ortodontia

Site multilíngue de uma clínica, em Next.js estático na AWS, cujo blog se escreve sozinho a partir do Instagram da clínica.

Em produção
Período
2026-01 → hoje
Plataformas
Web · AWS
Papel
Sozinho, para um cliente
Tecnologias
Fig. 1 · Home no computador
Fig. 2 · Artigo do blog
Fig. 3 · Home no celular

§1O problema

A clínica precisava de um site rápido, bem posicionado em buscadores e em 4 idiomas, sem que ninguém precisasse escrever artigos à mão toda semana.

§2O que eu construí

  • SiteNext.js com exportação estática, 4 idiomas (pt, en, fr, es), SEO (sitemap e redirecionamentos gerados no build, auditoria de SEO) e verificação antes do build.
  • Robô diárioPega o post do Instagram do dia, gera 4 artigos (um por idioma), valida, grava no banco do site, avisa por e-mail e faz o commit que dispara o deploy.
  • Plano semanalPlano de conteúdo (pesquisa de tendências + e-mail) e botão de desfazer/republicar posts.
  • DeployGitHub Actions: S3 + CloudFront no push para main.
  • Encaminhador de e-mailNa AWS (SES + S3 + Lambda), com script de configuração repetível.

§3As partes difíceis

5 itens
  1. 01

    Fonte do feed

    Trocada do BrightData para a Graph API da Meta (grátis, imagem em resolução original, horário real). A fonte antiga mudou de formato e o robô ficou ~2 semanas dizendo “0 posts” sem erro nenhum; agora comparo posts reais com o que o fetch devolve ao investigar.

  2. 02

    Pipeline resiliente

    Janela móvel de 48 h para recuperar execuções atrasadas, sem duplicar posts já publicados; códigos de saída que distinguem erro permanente de temporário.

  3. 03

    Token da Meta

    O token é de longa duração (~60 dias) e o próprio robô o renova no começo de cada execução.

  4. 04

    Conteúdo em 4 idiomas

    Com checagem automática antes de publicar.

  5. 05

    Armadilha de concorrência

    O robô regrava o arquivo de configuração inteiro no fim; editar durante a execução perdia a edição em silêncio (documentado).

§4Resultado

idiomas
4
artigos por execução diária
4

O site está no ar e o robô gera artigos em 4 idiomas por execução (a última execução automática, em novembro de 2026, publicou 4 posts em 4 idiomas). Não tenho números de tráfego nem de conversão.

§5Stack

  • Next.js 16 (export estático)
  • React 19
  • next-intl
  • Tailwind 4
  • TypeScript
  • SQLite (better-sqlite3)
  • Graph API da Meta
  • LLM por linha de comando (geração de texto)
  • AWS (S3, CloudFront, SES, Lambda)
  • GitHub Actions
  • Auditoria com Lighthouse / Yoast SEO