Rails Upgrades you can depend on.

Upgrade Ruby & Rails confidently, without disrupting ongoing feature development or production operations.

Let's Talk
Hero

Trusted by companies you know

Angi
Dell EMC
Codepen
Nation Builder
Homebase

Why upgrade?

Security Support

It's no secret that a significant portion of your application code is publicly accessible on GitHub. We're referring to Rails, of course. The beauty of open source also has a dark side: that is, the source is open.

While we believe that open source does ultimately produce more secure software, only those that stay current with security patches reap the benefits. The rest are left exposed.

If you're running an outdated version of Rails, we can help. Let your development team do what they do best, and depend on us to Upgrade Rails.

Angi

I for one like software that is not EOL and still receives security updates. Nice work!

Chris Sansone Director of Information Security & Risk
Quire

Our app is getting lighter and faster (just like our Amazon Bill). Could Hint do something similar for my basement? 🤣

Kelly Stratton, CEO at Quire

Technical Debt

Putting off maintenance creates technical debt which can bankrupt your app in the long run, requiring expensive rewrites or worse: grind your business to a halt.

Technical debt conceptualizes the tradeoff between the short-term benefits of rapid delivery and long-term value. Very few companies balance these tradeoffs well, often favoring activities that affect the bottom line in the short-term while ignoring the future cost. The only way to produce high-quality, cost-effective software in a sustainable way is to manage technical debt. When you Upgrade Rails, you're investing in the future.

Attracting and retaining top talent in today's developer market is difficult; add an outdated stack into the mix, and it's nearly impossible. To an experienced engineer, an up-to-date stack signals a healthy engineering culture. Work with us to put your open positions "on the top of the stack".

Work with us

Our Process

Have you ever wondered how Big Railsâ„¢ companies like Shopify or Github upgrade major versions with zero downtime? Our team has been upgrading Rails since version 1.0, and one thing we've learned is: it's all about the process.

Minimize WIP. Upgrading Rails in a large, very active codebase is a risky business. Falling behind is easy, and if you're not careful, you may find yourself in merge hell. Practically speaking, this means no long-running branches. Instead, all changes must be PR'd to the main branch and be merged swiftly.

Incremental everything. No task is too small to deserve asking the question, "how can we break this up?". We minimize WIP and reduce business risk by taking many small, incremental steps. Put in practice, this means changes for compatibility are made in the smallest possible units, and when deploying changes into production, we perform a canary deployment, starting at 1% traffic and ramping up slowly.

Use data to drive decision making. Sometimes it isn’t possible to determine the correct solution for a given challenge by static analysis, even with excellent git history. In these situations, it's tempting to guess. But don’t do it; it's a trap! Instead, use dynamic analysis (often in production). Gather more information, and make decisions based on fact, not conjecture.

Over-communicate. We'll be making significant sweeping changes (incrementally) to the entire codebase. If something goes wrong and the symptom is outside our purview, we want to know about it. By continuously communicating project status, every member of the organization becomes a secret agent, reporting helpful information, resulting in a smoother upgrade.

We used this process when upgrading Rails at Angi. Read the case study.

These guys know their stuff, are well respected in the Ruby community, and any company's investment towards upgrading rails with their help will have a return multiples times the spend.

Konstantin G

Homebase Platform Engineer

Ready to get started?

Let us know using the form below and we'll follow up to schedule a time to chat.