Notas de engenharia
Decisões técnicas, arquitetura e performance — o que aprendemos construindo produtos de software.
TypeScript strict: por que proibimos `any`
Um `any` não é só um tipo frouxo — ele desliga o verificador e o silêncio se espalha pelo código. O que usar no lugar: unknown, narrowing e generics.
TypeScriptDXArquiteturaLerAcessibilidade que não é enfeite: WCAG na prática
Acessibilidade não é um selo no fim do projeto — são decisões de contraste, foco e semântica tomadas enquanto você codifica. Os critérios que aplicamos e como verificá-los.
AcessibilidadeDXPerformanceLerPostgres que aguenta: índices, N+1 e connection pooling
A maioria dos bancos lentos não precisa de uma máquina maior — precisa de três correções baratas. Onde a lentidão realmente nasce e como resolvê-la.
BackendPostgreSQLPerformanceLerCore Web Vitals em 2026: o que medir e como corrigir
LCP, INP e CLS — os três números que o Google mede e que decidem se sua página é rápida de verdade. Os limites atuais e o que fazer quando você não passa.
PerformanceSEOReactLerCache no Next.js 16: o modelo mudou, e para melhor
Cache Components e a diretiva use cache trocam o cache implícito e cheio de pegadinhas por um modelo explícito. O que muda na prática e como não se queimar.
Next.jsPerformanceArquiteturaLerServer Components na prática: menos JavaScript, páginas mais rápidas
O que muda quando a renderização volta para o servidor, e como usamos isso para entregar interfaces rápidas sem abrir mão de interatividade.
ReactPerformanceNext.jsLerPor que escolhemos Next.js para produtos que precisam escalar
As decisões técnicas por trás do framework que usamos na maioria dos nossos projetos — e quando ele faz sentido para o seu produto.
Next.jsArquiteturaPerformanceLer