
Dias 30 a 34 · 24 a 28 de abril – 2026
Com o fechamento de caixa de pé, chegou a hora de encarar uma chatice antiga: fazer o sistema se virar sozinho. Buscar o que precisa, quando precisa, sem alguém empurrando. Esses cinco dias foram sobre acelerar — e sobre descobrir que velocidade cobra um preço em parcelas.
A novela do crachá
Primeiro, o problema que eu já tinha avisado lá no capítulo do piloto automático: os acessos que expiram.
Pra buscar os dados do app de delivery automaticamente, o sistema precisa estar logado. E o login vence de tempos em tempos, como um crachá com validade. Quando vence, o robô chega na porta e não entra — volta de mãos vazias, sem drama e sem aviso.
Passei um bom tempo nisso, e a solução final ficou menos elegante do que eu queria: em vez de tentar imitar um login pela porta da frente, o sistema passou a abrir um navegador de verdade, com um perfil separado só pra isso, pegar o crachá válido e guardar. Deselegante? Um pouco. Funciona todo dia? Funciona. E nessa altura eu já tinha aprendido que a solução que roda na terça-feira vale mais que a solução bonita que quebra na terça-feira.
O resto daquela noite foi uma sequência que quem mexe com isso reconhece de longe: subiu a versão, achou um detalhe, subiu de novo, achou outro. Quatro versões numa noite só. Uma delas nasceu de uma conta que ignorava um tipo de vale que só aparece em algumas lojas — dessas que você só descobre porque alguém que conhece a operação bate o olho e diz “esse número tá baixo”.
Um de cada vez é confortável
Resolvido o crachá, veio agora a captura das avaliações do app de delivery. Todo dia o sistema entrava na plataforma e baixava as avaliações de cada loja, uma por uma, na fila.
Funcionava. O problema era o relógio: multiplique o tempo de uma loja pelo número de lojas e você entende por que aquilo estava virando um processo que ninguém queria esperar.
A saída foi parar de trabalhar em fila e trabalhar em paralelo: três capturas ao mesmo tempo, em vez de uma. É a diferença entre um caixa atendendo trinta pessoas e três caixas atendendo dez cada. O ganho apareceu na hora — cerca de três vezes mais rápido, exatamente o que a conta prometia.
Só que trabalho paralelo cobra, e a cobrança veio em três parcelas.
Parcela 1: todo mundo copiando ao mesmo tempo
Cada captura precisava de uma cópia do perfil do navegador pra rodar isolada das outras. Com um processo só, copiar aquilo era irrelevante. Com três copiando junto, o disco virou o gargalo — os três esperando o mesmo disco atender.
A solução foi trocar o tipo de cópia. Em vez de duplicar arquivo por arquivo, o sistema passou a usar um recurso do próprio disco do Mac que cria uma cópia instantânea: em vez de escrever tudo de novo, ele anota “isso aqui é igual àquilo ali” e só duplica de verdade o que mudar. Cópia que levava um tempo desconfortável virou coisa de piscar de olho.
Deixei o jeito antigo como plano B, pro caso de o truque não funcionar em alguma situação. Aprendi isso apanhando: otimização esperta sem plano B é bomba-relógio.
Parcela 2: erro que não parece erro
Com três processos rodando, apareceu um comportamento estranho: às vezes a captura terminava “com sucesso” e vinha vazia.
Demorei pra entender. A plataforma, quando está sobrecarregada ou desconfiada, não devolve um erro — devolve uma página de erro. Do ponto de vista do robô, a resposta chegou, o endereço respondeu, está tudo certo. Ele salvava a página de desculpas achando que era o documento.
Isso é traiçoeiro porque não acende luz vermelha nenhuma. O processo termina, o relatório diz que foi tudo bem, e o buraco só aparece dias depois, quando alguém procura uma avaliação que deveria estar ali.
Ensinei o sistema a ler o que recebeu antes de comemorar: se a página tem cara de erro, não é sucesso, é falha — e falha se tenta de novo. Parece óbvio escrito assim. Não é óbvio quando você está com a cabeça em “fazer funcionar”.
Parcela 3: dois no mesmo lugar
A terceira foi a mais difícil de achar, dessas que fazem duvidar da própria sanidade.
De vez em quando o índice do fechamento de caixa — a lista que diz o que já foi conferido e o que falta — voltava a um estado antigo. Alguém marcava, e pouco depois estava desmarcado. Ninguém tinha desfeito nada.
O culpado era a combinação de duas coisas boas. De um lado, o salvamento automático, que vai guardando sozinho enquanto a pessoa preenche pra ninguém perder trabalho. Do outro, a atualização do índice. Os dois mexiam no mesmo lugar, e às vezes o salvamento chegava atrasado carregando uma foto antiga da situação, e escrevia essa foto por cima da versão mais nova. Não era erro de conta: era erro de ordem.
Esse tipo de problema tem nome — os programadores chamam de corrida, porque é literalmente dois processos correndo pro mesmo lugar e o resultado dependendo de quem chega primeiro. É a pior categoria de bug que existe, porque não acontece sempre: acontece quando o tempo conspira. Você testa dez vezes, funciona dez vezes, e quebra na décima primeira na frente do usuário.
Resolvi impedindo que o salvamento automático sobrescrevesse um estado mais recente que o dele, e pus um botão pra reconstruir o índice do zero — quando se mexe com esse tipo de coisa, é bom ter um jeito manual de dizer “esquece tudo e conta de novo”.
O robô que acorda sozinho
Fechei essa parte com uma peça pequena e libertadora: o programa das capturas passou a subir sozinho quando o computador liga. Antes, se a máquina reiniciasse — queda de luz, atualização, qualquer coisa — alguém precisava lembrar de abrir o programa. E “alguém precisa lembrar” é o mesmo que “uma hora ninguém lembra”.
E aí veio o dia 28
Os quatro primeiros dias foram sobre o sistema trabalhar sozinho. O quinto foi sobre ele falar.
Até ali, tudo que o sistema descobria ficava dentro dele: você tinha que entrar, abrir a tela, procurar. Se um número estranho aparecesse às três da manhã, ele esperava educadamente alguém passar por ali.
No dia 28 nasceu o Hub de Comunicação — o lugar de onde o sistema manda mensagem pra quem precisa saber, sozinho, na hora certa. Comecei o esqueleto de manhã e ele foi pro ar na mesma noite. Foi tanta coisa junta que a versão pulou de 3.70 pra 4.0 — e virar um número inteiro, num projeto, é aquele momento em que você olha pra trás e percebe que a coisa mudou de patamar.
Alerta de Spoiler: esse hub vai ser o berço do nascimento dos robôs. E eu nem imaginava isso…
A lição desses dias
Velocidade não é de graça. Quando você põe três coisas pra rodar ao mesmo tempo, não ganha só três vezes o resultado: ganha também três vezes as chances de duas delas se atrapalharem. Tudo que era simples porque acontecia em fila passa a exigir combinação.
E fica a que mais me marcou: desconfie do sucesso silencioso. O erro que grita é fácil, ele te obriga a olhar. O perigoso é o processo que termina dizendo que deu tudo certo e entrega uma pasta vazia. Automação madura não é a que faz o trabalho — é a que sabe reconhecer quando não fez.
No próximo capítulo, o sistema estreia a voz: as primeiras mensagens saindo sozinhas, um vigia de olho nos números o tempo todo — e a descoberta de que um sistema que fala demais é tão ruim quanto um que fica calado.








