Bastidores

Desenvolvimento· Construindo o Garfim · parte 20

Teste local verde até no S23, e o staging ainda achou um defeito.

Como validei o Garfim em staging com serviços reais e aparelhos de verdade, achei um defeito antigo e preparei o envio da versão 0.1.4 às lojas.

Um iPhone e um Galaxy S23 apontados para staging, com os fluxos de teste marcados antes das lojas.

O histórico do Garfim passou nos testes locais no emulador Android, no Galaxy S23, no simulador do iPhone e no iPhone 17 Pro Max, e mesmo assim travei a entrega com uma frase: “não vejo sentido de testar local e não testar staging”. Isso aconteceu em 7 de novembro, no teste do recurso de ver e editar qualquer dia passado.

O teste local ajuda no desenvolvimento e a validação acontece em staging

Virou regra dos produtos: o teste local ajuda enquanto se desenvolve, mas a validação de fluxos, aparelhos e integrações de IA, fotos, e-mail e pagamentos é feita em staging, com os serviços reais de staging, antes de produção. Num app, isso quer dizer rodar um build apontado para a API de staging.

Teste local verde dá falsa segurança quando os serviços reais ficam de fora da bateria. A versão 0.1.4 foi a primeira a seguir a ordem de publicação com aceite em staging.

A 0.1.4 precisou provar nove fluxos apontada para staging

Em 8 de novembro, builds de release apontados para staging passaram nos nove fluxos do Maestro no simulador do iPhone e no emulador Android. Nesse aceite, uma foto da galeria foi analisada pela IA real e a miniatura voltou do armazenamento depois de reabrir o app.

Os fluxos do Maestro precisaram de ajustes para passar nos aparelhos: fechar o aviso de desenvolvimento do Expo Router, centralizar o botão de consentimento e tocar o “Voltar” do app longe da tecla de voltar do sistema da Samsung. Também entraram rolar até o conteúdo que uma fonte maior do sistema empurra para baixo e esconder o teclado da Samsung só no Android.

O iPhone e o Galaxy S23 mostraram a diferença do aparelho real

No iPhone, um build de release apontado para staging e instalado pelo cabo cobriu o onboarding com “Guardar fotos” ligado, uma foto real da câmera analisada pela IA e o salvamento. Ao reabrir o app, a miniatura foi lida de novo.

No Galaxy S23, um build de teste interno do projeto de staging, instalado pelo Google Play, passou nos fluxos de histórico, registro por busca, plano gratuito e voz e água. À mão, conferi um dia passado aberto pela faixa da semana, o seletor de fotos do sistema, uma foto real da câmera com análise e salvamento, o app forçado a fechar e a miniatura de volta ao reabrir.

O staging achou um defeito antigo do plano gratuito

O teste em staging achou um defeito antigo, que não veio desta versão, quando a tela do Galaxy S23 apagou 30 segundos depois do início da análise de uma foto. Se a conexão cai durante a análise, o servidor termina o trabalho e conta o registro do dia do plano gratuito, mas o app mostra erro e não recupera o rascunho.

Quem está no plano gratuito perde a análise do dia nesse caso. A correção ficou para depois, separada da 0.1.4.

A publicação saiu com freio nas duas lojas

Depois do aceite, o backend e a infraestrutura foram para produção, com uma única mudança na infraestrutura: as fotos das refeições deixaram de expirar depois de 30 dias. Nas 24 horas seguintes, o Sentry não teve nenhum evento das versões anteriores do app contra o backend novo.

Os builds 0.1.4 passaram no teste interno da Play e no TestFlight com a minha conta, em produção, e nenhum registro de teste ficou nela. Autorizei o envio da versão às duas lojas em 8 de novembro: no Google Play, lançamento gradual em 20% em todos os países; na App Store, liberação manual e em fases, esperando revisão.

Quem publica um app pode copiar a ordem: desenvolva com teste local, valide apontado para staging nos aparelhos de verdade e publique com freio nas lojas. O recurso que puxou essa entrega está em o histórico dos dias passados e a base de testes no celular aparece em os testes internos no Android.

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