From outsourced codebase to production-grade in 90 days — without stopping delivery.
Perk inherited an outsourced Rails monolith on GitLab. No CI. No PR reviews. No tests running. Bleu took ownership, rebuilt the engineering process, and shipped product simultaneously.
Context
Perk's codebase had been built by an outsourced team in India and handed off. The team was gone. There was no continuous integration, no pull request reviews, no test suite running. People pushed directly to branches and merged without review. Deployments were manual. The question wasn't whether to fix this — it was whether a new team could take ownership of someone else's production system, understand it deeply, and modernize it without breaking what was already working.
- •No CI pipeline — code shipped without automated checks
- •No PR reviews — direct branch merges without oversight
- •No test suite running — no safety net for changes
- •Manual deployments — each release a manual, error-prone process
- •Previous team gone — no knowledge transfer, no documentation
Our role
Instead of just fixing bugs on top of the existing setup, we rebuilt the engineering process while shipping product. Both happened at the same time — stabilization was not separate from delivery.
"What you wished your last team was."
What changed
Within 90 days, the codebase went from ungoverned to professionally managed. Every change went through CI, got reviewed, and was deployed automatically. And product kept shipping throughout.
- ✓Migrated from GitLab to GitHub with branch protection and mandatory reviews
- ✓CI pipeline running on every push — tests, lints, builds
- ✓Containerized with Docker for consistent environments
- ✓Introduced background job processing (Sidekiq)
- ✓Integrated TailwindCSS for frontend consistency
- ✓Linear for project tracking (864 tickets to date)
- ✓Shipped social feed challenges, email delivery fixes, and admin auth fixes simultaneously
Areas we took ownership of
Why this matters
Most teams won't touch someone else's legacy system. The ones that do usually propose a ground-up rewrite — months of work before any value is delivered.
We modernized incrementally: shipped product on day one while rebuilding the foundation underneath. Not a single day of downtime during the transition. Three years later, that codebase is a 16-app monorepo serving Fortune 500 clients with 99.984% uptime.
Outcome
The stabilization set the foundation for everything that followed. The CI pipeline, PR reviews, and automated deployments we put in place in the first 90 days are still running three years later — now processing 12,000+ commits across 1,600+ pull requests. What started as a rescue became a partnership.
If you have a codebase you're afraid to touch or a team transition to navigate, this is the kind of work we do.