Takeover audit
We review the code, the database schema and the infrastructure, list your Rails, Ruby and gem versions, and pinpoint known vulnerabilities and fragile areas. You get a clear assessment and an action plan priced step by step.
Legacy Rails takeover · Rails 8 migration
Your application still runs on Rails 4, 5 or 6, the developer who built it has moved on and nobody dares touch the code. Our Rails upgrade service takes the app over, secures it with tests, then moves it one version at a time to Rails 8 while your business keeps running on it.
What's included
A Rails application without a developer does not collapse overnight. It falls behind: gems stop receiving fixes, your host drops your Ruby version and every small change becomes a risk. Here is what a takeover and upgrade by our Ruby on Rails agency covers.
We review the code, the database schema and the infrastructure, list your Rails, Ruby and gem versions, and pinpoint known vulnerabilities and fragile areas. You get a clear assessment and an action plan priced step by step.
Inherited apps often have few or no tests. We start by writing RSpec tests for the critical flows, such as sign-in, ordering, invoicing and exports. They guard every step of the upgrade.
We move from one minor version to the next and never jump straight from Rails 5 to Rails 8. Each step handles its own deprecations and new defaults, then goes to production before the next one.
Gems updated, abandoned ones replaced, vulnerabilities flagged by bundler-audit and Brakeman fixed. PostgreSQL and Node are upgraded too when the application depends on them.
Once the app is current, some projects start to pay off: Hotwire instead of jQuery, Solid Queue instead of Sidekiq and Redis, deployment with Kamal. We only suggest them when the benefit is real.
We can stay responsible for the application through regular updates, security patches and new features, so it never falls this far behind again.
Why now
Rails versions that no longer receive security patches leave your application exposed, and every month of delay adds more deprecations to handle and more gems to replace. The gap compounds: an app two versions behind is a project, an app five versions behind is a much bigger one. Hosting platforms also retire old Ruby versions, which can force an emergency migration at the worst possible moment.
There is a hiring cost too. Developers want to work on current Rails, and a legacy app makes every recruitment harder. Bringing it up to date is often what makes it possible to grow the team again.
These are the signs we see most often when a client asks us to take over a legacy Rails app.
The original developer or agency is gone, the documentation is thin and the team is afraid that any change will break production.
Deprecation warnings, gems pinned to old versions and security alerts from your repository host that no one acts on.
Your host or a key gem is dropping support for your Ruby or Rails version, and the deadline is set by someone else.
Our method
Four steps, designed to keep your application online and your team informed throughout.
Target version
We aim for the latest stable Rails and Ruby, with tools you could hand to any Rails developer tomorrow.
Tests are what let us move fast without breaking things. They stay in the project afterwards and protect every future change.
Turbo and Stimulus replace jQuery or an abandoned JavaScript framework, with much less code to maintain.
Background jobs run through PostgreSQL, so Redis often becomes unnecessary: one less service to host and monitor.
If your platform is dropping support for your stack, Kamal deploys the app to a standard server with a documented procedure.
Case study · a Rails app looked after for the long run
Le Baroudeur du Vin is an online wine shop. We designed its e-commerce site and SEO strategy, then built its internal OS in Ruby on Rails, the tool that runs the business day to day. A tool like this lives for years and has to keep pace with Rails and Ruby releases without ever holding up an order.
Frequently asked questions
They are quote-based. The price depends on the version gap, the size of the codebase, the number of gems to replace and the existing test coverage. The takeover audit lets us price each step separately, so you stay in control of the budget.
Yes, that is the core of this service. We start with a takeover audit of the code, the Rails, Ruby and gem versions, the database and the hosting. You then know exactly what state the application is in and what needs doing first.
No, and that is deliberate. We upgrade one version at a time, for example 5.2, then 6.0, 6.1, 7.0 and so on up to Rails 8. Each step goes to production before the next one starts. It is safer, and every step already brings security fixes.
That is common. Before any upgrade, we write RSpec tests covering the critical flows of your business, such as sign-in, orders, invoicing and exports. They act as a safety net during the upgrade and stay in the project afterwards.
The work is designed to avoid it. It happens on a separate branch with dual boot, so the app runs on both the current version and the next one, and releases are small and reversible. We plan each release with you.
No. The priority is an application that is up to date and secure. Hotwire, Solid Queue or Kamal are only suggested when they genuinely simplify your app or cut your hosting costs. If you are unsure where to start, a Rails code audit sets out the options.
Our other Rails services
Every service below is run by the same team. For the full picture, see our Ruby on Rails agency page.
Accounts, Stripe subscriptions, an admin back office and your core feature, live in a few weeks.
€8,000 to €20,000
Code, security, performance, tests and infrastructure reviewed, with a written report and prioritised fixes.
Custom quote
Experienced Rails developers embedded in your team, your tools and your sprints.
Custom quote
Security patches, updates, monitoring and small improvements for your app in production.
Custom quote
Send us your Rails version, your Ruby version and what the application does. We reply within 48 hours with a first assessment and the next steps.