De codebase terceirizado a production-grade em 90 dias — sem parar de entregar.
Perk herdou um monolito Rails terceirizado no GitLab. Sem CI. Sem PR reviews. Sem testes rodando. A Bleu assumiu, reconstruiu o processo de engenharia e entregou produto ao mesmo tempo.
Contexto
O codebase da Perk tinha sido construído por um time terceirizado na Índia e entregue. O time foi embora. Não tinha integração contínua, não tinha code review, não tinha suite de testes rodando. Pushavam direto pras branches e mergeavam sem revisão. Deploys eram manuais. A pergunta não era se devia arrumar — era se um time novo conseguia assumir o sistema de produção de outra pessoa, entender profundamente, e modernizar sem quebrar o que já funcionava.
- •Sem pipeline de CI — código ia pra produção sem checks automáticos
- •Sem PR reviews — merges diretos sem supervisão
- •Sem suite de testes rodando — sem rede de segurança pra mudanças
- •Deploys manuais — cada release um processo manual e sujeito a erro
- •Time anterior foi embora — sem knowledge transfer, sem documentação
Nosso papel
Em vez de só corrigir bugs em cima do setup existente, reconstruímos o processo de engenharia enquanto entregávamos produto. As duas coisas aconteceram ao mesmo tempo — estabilização não foi separada de entrega.
"O que você queria que o time anterior fosse."
O que mudou
Em 90 dias, o codebase saiu de não-governado pra profissionalmente gerenciado. Cada mudança passava por CI, era revisada, e era deployed automaticamente. E produto continuou sendo entregue o tempo todo.
- ✓Migração do GitLab pro GitHub com branch protection e reviews obrigatórios
- ✓Pipeline de CI rodando em cada push — testes, lints, builds
- ✓Containerizado com Docker pra ambientes consistentes
- ✓Background job processing introduzido (Sidekiq)
- ✓TailwindCSS integrado pra consistência no frontend
- ✓Linear pra tracking de projeto (864 tickets até hoje)
- ✓Entregamos social feed challenges, fixes de email, e fixes de auth admin simultaneamente
Áreas que assumimos
Por que isso importa
A maioria dos times não encosta no sistema legado de outra pessoa. Os que encostam geralmente propõem reescrever do zero — meses de trabalho antes de entregar qualquer valor.
Modernizamos incrementalmente: entregamos produto no dia um enquanto reconstruíamos a fundação por baixo. Nenhum dia de downtime durante a transição. Três anos depois, aquele codebase é um monorepo de 16 apps servindo clientes Fortune 500 com 99.984% de uptime.
Resultado
A estabilização construiu a fundação pra tudo que veio depois. O pipeline de CI, PR reviews e deploys automatizados que colocamos nos primeiros 90 dias ainda estão rodando três anos depois — agora processando 12.000+ commits em 1.600+ pull requests. O que começou como resgate virou parceria.
Se você tem um codebase que tem medo de mexer ou uma transição de time pra navegar, esse é o tipo de trabalho que fazemos.