AYA Biomedicina
Site da Dra. Valéria Leite — biomedicina integrativa em Goiânia. Editor TipTap custom, analytics próprio em SQL, cache em 4 camadas.

Site da Dra. Valéria Leite — biomédica em Goiânia, CRBM 5.1065-GO, especialista em medicina integrativa (8 tratamentos: Acupuntura, Auriculoterapia, Aromaterapia, Florais de Bach, Laserterapia, Ozonioterapia, Radiestesia, Reiki). Arquitetura híbrida pragmática: Next.js 16 no Vercel + PHP 8.2 puro sem framework no Hostgator com MySQL 8. Cliente já paga Hostgator, então reusa PHP/MySQL dela (custo zero adicional). 88 commits mapeados em 8 marcos. CMS de artigos custom com editor TipTap estendido — não é instalação padrão.
- Next.js 16
- Vercel
- PHP 8.2
- MySQL
- TipTap (extensions custom)
- Tailwind 4
- TypeScript
- Hostgator (shared)
- Editor TipTap com extensions custom não-padrão: Columns (layouts 1:1, 2:1, 1:3, 1:1:1 dentro do artigo), GlobalStyleAttribute (persiste style inline em parágrafos/headings/listas), BlockControls (flutuante por bloco).
- Biblioteca de mídia integrada com upload validado por MIME real via finfo (não pela extensão), nomes randomizados via bin2hex(random_bytes(12)), delete protegido contra path traversal com realpath confinado.
- Analytics próprio completo sem GA/Plausible — 380+ linhas de SQL no endpoint /api/admin/analytics. Filtro de ~25 user-agents de bot antes do INSERT (Lighthouse, PageSpeed, GTmetrix, Twitterbot, etc).
- Classificação de origem em 4 etapas (utm > click-id > referrer > direto), geo via ip-api.com SEM persistir IP (LGPD by design), tracker de leitura via IntersectionObserver + sendBeacon (só conta read_complete quando aluno realmente leu o artigo até o fim).
- Cache em 4 camadas com fallback Apache: PHP file cache → Next.js ISR → snapshots JSON servidos pelo Apache (mesmo com PHP travado) → JSON bundled no Vercel. Site nunca cai.
- JWT HS256 implementado à mão em 40 linhas (Hostgator shared não tem Composer).
- Identidade visual da cliente, não nossa: paleta sálvia + dusty rose + Playfair Display.
- Hostgator shared sem SSH/Composer: deploy via GitHub Actions FTP, JWT HS256 implementado à mão sem dependência externa.
- TipTap v3 com BubbleMenu conflitava com BlockControls custom: BubbleMenu removida em favor da nossa.
- Performance em hosting compartilhado: cache em 4 camadas garante site no ar mesmo com PHP-FPM travado.
- Slug auto-gerado com normalização PT-BR (remoção de acentos, lowercase, hífen) — cliente cria post 'Saúde Holística' e fica /saude-holistica.