Construindo em público
Notas de engenharia
O que aprendemos construindo o Lima: os bugs que chegaram em produção, as correções que ficaram e as decisões por trás delas.
integrationsbackend
Google OAuth Testing Mode: Uma Bomba Relógio de Token Expirado
Uma integração Google ficou EXPIRED silenciosamente, sem erro, exigindo arqueologia no banco de dados. A correção foi logar a causa real da falha.
10 de set. de 2026 · 5 min de leitura
backendsecurity
Debug do Export LGPD: 409 Opaco para 429 com Retry-After
Usuários reclamavam que exportações de dados LGPD 'nunca chegavam'. O problema era um cooldown de uma hora, oculto por um erro 409 genérico. Resolvemos com respostas 429 claras.
3 de set. de 2026 · 5 min de leitura
testingbackend
Como um plugin ausente silenciou nosso Pitest por meses
Nosso Pitest semanal reportou 0% de cobertura por meses, sem rodar um único teste. A correção revelou 40% de cobertura de mutação e iniciou um esforço de hardening.
27 de ago. de 2026 · 5 min de leitura
backendpostgres
TEXT Array Antigo Quebra o Dashboard Administrativo
O dashboard administrativo do Lima retornava erros 500 porque uma coluna TEXT[] pré-rebrand, que armazenava datas, foi comparada com timestamps, falhando a query.
20 de ago. de 2026 · 5 min de leitura
aiprocess
MoWave One: Agentes de auditoria IA e o limite de sessão
Nossa auditoria de segurança multiagente para o Lima bateu no limite de taxa de sessão, retornando vazio. Detalhamos a estratégia de fallback e a importância da cobertura transparente.
13 de ago. de 2026 · 5 min de leitura
backendaudit
MoWave One: FeatureGate.EXTERNAL_EVENTS_ACTIVE sem uso
Uma auditoria no MoWave One revelou que FeatureGate.EXTERNAL_EVENTS_ACTIVE, um feature gate declarado com limites, não tinha nenhuma chamada no código, significando que o limite de eventos do Google Calendar nunca foi aplicado.
6 de ago. de 2026 · 5 min de leitura
securitypostgres
RLS no Postgres: 'Ativado, Sem Política' é Deny-All para Backend
Corrigimos um alerta de segurança do Supabase ao ativar RLS sem políticas em tabelas exclusivas do backend. Protege dados sensíveis, mantendo o acesso do backend para Lima.
30 de jul. de 2026 · 5 min de leitura
crescimentobuild in public
Como o Lima chegou a 25.000 usuários sem orçamento de marketing
Sem anúncios pagos, sem agência de PR, sem influenciadores. O Lima cresceu até 25k usuários ativos pelo orgânico, começando na comunidade Spring Boot e espalhando a partir daí.
29 de jul. de 2026 · 7 min de leitura
mobileflutter
Flutter ou React Native: o que usamos e por quê
Construímos o Lima em Flutter. Não porque o React Native seja ruim. A nova arquitetura corrigiu a maior parte dos problemas. Aqui está o raciocínio real por trás da escolha.
29 de jul. de 2026 · 6 min de leitura
backendperformance
ETag no Lima: por que o timestamp do envelope matava o cache
Um timestamp no envelope de resposta da API do Lima quebrava a validação de ETag em silêncio. Como resolvemos com deep ETag e serialização canônica.
22 de jul. de 2026 · 5 min de leitura
whatsappbackend
Nono dígito e WhatsApp: quando o wa_id não bate com o telefone
Números brasileiros ganharam o nono dígito, mas o WhatsApp ainda identifica milhões de contas pela forma antiga. Se você faz match por telefone, esse bug te espera.
9 de jul. de 2026 · 5 min de leitura