Bastidores

Desenvolvimento· Construindo o ClipLeve · parte 4

Como levei o LCP do ClipLeve de 9,9 s para menos de 1,5 s.

O diagnóstico do PNG pesado no topo, a migração para Astro em Workers e a reconstrução do site com 100 de pontuação e calculadoras úteis.

Medidor de desempenho indo de 70 para 100 ao lado de um iPhone com o app ClipLeve.

O site antigo do ClipLeve levou 9,9 s para atingir o LCP e recebeu 70 em desempenho no Lighthouse para celular. Para um aplicativo cujo propósito é tornar arquivos leves e rápidos de compartilhar, manter um site lento na primeira dobra contradizia a própria proposta do produto.

A solução foi reconstruir o site do zero com Astro e publicá-lo em um Worker da Cloudflare. Com ajustes objetivos de entrega e eliminação de peso desnecessário, o LCP despencou para uma faixa entre 0,9 e 1,3 s na produção, com nota 100 em todas as categorias de medição.

Um PNG de 1,7 MB sem cache destruía o carregamento no celular

O diagnóstico do Lighthouse apontou o culpado imediatamente. O Largest Contentful Paint, que mede o tempo para exibir o maior conteúdo visível na tela, sofria com uma única imagem no topo da página. Era um arquivo PNG de 1,7 MB, servido diretamente pelo provedor antigo sem qualquer política de cache eficiente.

O PNG de 1,7 MB servido sem cache foi apontado como a causa do LCP de 9,9 s no teste.

A experiência era inaceitável. Quando alguém pesquisa como comprimir um arquivo de vídeo pelo celular, a tolerância para páginas pesadas é nula. Bastava uma imagem mal dimensionada para destruir a percepção técnica do produto.

A arquitetura em Astro e Worker entrega páginas estáticas sem atrito

A reconstrução utilizou Astro gerando apenas arquivos estáticos, servidos diretamente na borda por um Worker da Cloudflare. Como o ClipLeve não possui formulários de contato nem exige banco de dados no site, não havia justificativa técnica para carregar processamento dinâmico em cada visita.

O novo título da página passou a destacar o valor central de forma objetiva: “Comprima seus vídeos no iPhone sem arriscar os originais”.

Ao rodar o Lighthouse na produção após o deploy, a versão em inglês da página inicial, um guia temático e uma das calculadoras alcançaram 100 nas quatro notas avaliadas: desempenho, acessibilidade, boas práticas e SEO. Nessas páginas, o LCP no celular ficou entre 0,9 e 1,3 s.

O catálogo de conteúdo cresceu com guias e calculadoras úteis

A reconstrução também ampliou a quantidade de páginas indexáveis. O site saltou de 8 para 29 páginas indexáveis, divididas entre páginas principais, 17 guias práticos e 2 calculadoras interativas.

A principal ferramenta adicionada foi a calculadora de tamanho de vídeo, desenvolvida com o modelo matemático do próprio aplicativo nativo. Ela usa o modelo do próprio app para estimar o tamanho de um vídeo.

Para que os guias fossem práticos e confiáveis, os limites de envio das plataformas de mensagem foram conferidos em fontes oficiais em 30 de outubro de 2026:

  • Discord gratuito: limite máximo de 20 MB por arquivo.
  • WhatsApp no iPhone: envios de mídia com até 100 MB em resolução 720p ou 64 MB em resolução 480p, além de documentos de até 2 GB.
  • Outlook.com: limite fixo de 25 MB para anexos de mensagens.

Esses limites dão contexto para quem precisa preparar um vídeo para envio.

As URLs legadas foram preservadas com redirecionamento temporário

Uma reformulação estrutural de site nunca pode ignorar os endereços já publicados. No caso do ClipLeve, o aplicativo já disponível na App Store já usava links com terminação .html.

Se essas páginas retornassem erro após a mudança para rotas amigáveis, usuários reais do aplicativo ficariam desamparados ao buscar os termos legais ou o canal de suporte. O site novo configurou um redirecionamento automático com código HTTP 307 para cada um desses arquivos, direcionando a navegação para os novos endereços sem a extensão.

O código 307 indica um redirecionamento temporário e mantém o método da requisição. As URLs antigas continuam respondendo com segurança e sem quebras para o usuário final.

Um portão de qualidade no build impede que regressões cheguem ao ar

Velocidade conquistada precisa ser defendida a cada deploy. Para evitar que alterações futuras introduzam imagens pesadas sem otimização ou quebrem páginas de suporte, integrei um portão automático de qualidade ao processo de compilação.

O site ganhou um portão automático de qualidade no build.

O portão ajuda a conferir a qualidade a cada build; as notas medidas não garantem o resultado de medições futuras. O roteiro detalhado de como configurei essa publicação na infraestrutura de borda está explicado no post sobre migrar site para Cloudflare Workers.

Teste local verde até no S23, e o staging ainda achou um defeito.08 nov · DesenvolvimentoOutra IA revisou 4.170 traduções da IA em inglês e corrigiu 307.08 nov · Inteligência artificialA conta live do Stripe estava ativa, mas falhou na minha conferência.08 nov · LançamentoTrês regras de HSTS num só domínio: por que deixei o preload de fora.08 nov · DesenvolvimentoUma palavra a menos derrubou 13 páginas que já estavam no ar.08 nov · DesenvolvimentoOutro agente de IA revisou meu código 71 vezes e criou dois defeitos.08 nov · Inteligência artificialDepois de 20 anos de carreira, publiquei meu primeiro pacote no npm.08 nov · LançamentoSozinho com IA: iPhone, Android, SaaS com MCP e CLI, e já faturando.07 nov · BastidoresCopiei a mecânica dos líderes e recusei a mentira deles.07 nov · BastidoresA pergunta de LGPD que trava a venda: e o backup?07 nov · ProdutoA IA calibrou minha câmera pelos números. Ficou cara de lanterna.07 nov · BastidoresUm usuário não via o dia de ontem. Abri todo o passado do Garfim.07 nov · Produto62% baixavam o Garfim. O problema estava antes da página.07 nov · LançamentoO idioma certo na tela pode virar o errado no servidor.07 nov · DesenvolvimentoO limite de 10 por minuto que deixou passar muito mais.07 nov · DesenvolvimentoUm PR do Dependabot travou meu banco e as rotas voltaram 500.07 nov · DesenvolvimentoMeus produtos novos não começam do zero. Começam de um clone.07 nov · DesenvolvimentoTirei uma trava da minha IA e a resposta caiu de 5,5 s para 3,7 s.07 nov · DesenvolvimentoTroquei velocidade por uma auditora que confere cada frase.07 nov · Inteligência artificialEscrevi o método CERNE lendo seis especificações reais.07 nov · Inteligência artificialComo anunciar na Meta e vender online no CPF sem abrir empresa.05 nov · BastidoresPausei anúncios depois de ignorar o resultado anterior.05 nov · BastidoresComo depurei um erro de API sem log no registro do Garfim.05 nov · DesenvolvimentoComo forçar atualização no React Native antes de um defeito grave.05 nov · DesenvolvimentoComo levei o LCP do ClipLeve de 9,9 s para menos de 1,5 s.05 nov · DesenvolvimentoPubliquei 650 páginas contra a regra do meu método.05 nov · Inteligência artificialUma conta para organizar erros, métricas e IA dos meus produtos.05 nov · BastidoresSeparei o painel do site e pus o Access na porta.05 nov · DesenvolvimentoUma lista de 69 itens encontrou requisitos só no papel.05 nov · BastidoresO antispam esperou tanto que parou o formulário.05 nov · DesenvolvimentoCortei a publicação de 17 minutos para 4 na minha máquina.05 nov · DesenvolvimentoEu gravo. A IA corta, legenda e entrega o vídeo curto.05 nov · Inteligência artificialComo criar anúncios UGC com IA usando o método PROVA.05 nov · Inteligência artificialA IA disse que usou as skills. A página provou o contrário.05 nov · Inteligência artificialNove páginas reprovadas antes de encontrar uma identidade.05 nov · Inteligência artificialEm 48 horas, juntei domínios, e‑mail, sites e medição num padrão só.30 out · BastidoresPor que tirei os três sites do GPT Sites.30 out · DesenvolvimentoComo troquei o luisjunior.ai com cerca de 10 segundos fora do ar.30 out · DesenvolvimentoRefiz o luisjunior.ai do zero: cada afirmação com prova.30 out · LançamentoUm padrão para todos os domínios, inclusive os de produtos futuros.30 out · BastidoresTodo o e‑mail dos meus domínios saiu do VPS num só dia.30 out · DesenvolvimentoDecidi mover o envio do Garfim do Resend para a Cloudflare.30 out · DesenvolvimentoO método FONTE para aparecer no Google e nas respostas de IA.30 out · Inteligência artificialTrês sites, três decisões de busca, e uma delas é não gerar páginas.30 out · Inteligência artificialMedição de vários sites num painel só, com consentimento.30 out · BastidoresComo a IA me apresenta mídias para aprovação29 out · Inteligência artificialO Garfim chegou ao Google Play. Agora tem Android e iPhone.22 out · LançamentoConseguir testadores e esperar 14 dias: a reta final do Garfim no Android.22 out · BastidoresO ClipLeve chegou à App Store. O que aprendi até aqui.20 out · LançamentoO ClipLeve foi rejeitado de novo. Dessa vez, por uma palavra.20 out · ProdutoO Garfim foi aprovado. E já está na App Store.16 out · LançamentoA última negativa do Garfim: câmera, assinatura e o caminho inteiro.16 out · LançamentoClipLeve: o cuidado por trás de um vídeo mais leve.12 out · ProdutoPor que restaurar uma assinatura pode falhar em outra conta.12 out · ProdutoQuando um aplicativo pode dizer que sua conta foi excluída?12 out · ProdutoO que a primeira negativa da App Store me fez explicar.08 out · LançamentoO que quero aprender com o teste fechado do Garfim.08 out · ProdutoO trabalho de uma assinatura continua depois da compra.03 out · DesenvolvimentoPor que o Garfim ganhou um plano gratuito.03 out · ProdutoO login funcionou. Por que a tela do Garfim não saiu do lugar?03 out · LançamentoPagenello: um site começa pelo que o visitante veio fazer.03 out · LançamentoComo uma foto do almoço vira um produto.27 set · ConcepçãoAs decisões que continuo tomando ao desenvolver com IA.27 set · DesenvolvimentoApresentar o Garfim ao público também é um teste do produto.27 set · Lançamento

GET luisjunior.ai/llms.txt

Esta é a versão do site escrita para modelos de linguagem: os mesmos fatos, sem layout, prontos para um assistente de IA ler e citar. Agentes no Chrome também encontram aqui ferramentas WebMCP para consultar produtos, textos e contato.

conectando…0 tokens · 0 tok/s