De codebase terceirizado a production-grade em 90 dias — sem parar de entregar.

Protocol

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."
Perk
- Taylor, Perk

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.