Happy Bear Software

Upkeep: A monthly code maintenance retainer for Ruby on Rails projects

Ruby on Rails projects older than a year get progressively more difficult to work on. Tests stop passing, your gems go out of date and security vulnerabilities get reported. Without someone there to perform small but regular maintenance tasks, your code will quickly rot, making the application progressively more expensive to maintain and work on.

We know this because clients come to us with atrocious codebases all the time. They ask us to build new features on unstable foundations. Before we can help them we need to spend a significant chunk of their budget on getting their codebase to a state in which we can work on it without breaking anything. On many projects, it's often cheaper to throw out the old code and start from scratch.

Don't become our next rescue project. Rails applications don't need to end up like this. We'd much rather work with clients on an ongoing basis to take care of maintenance tasks than untangle big messes of code under the pressure of a deadline.

Upkeep is our monthly Ruby on Rails code maintenance agreement. For a flat monthly fee, we'll take maintenance tasks off your hands so that you can focus on your core business. You pay monthly and can cancel the agreement at any time.

Our goal with Upkeep is to:

Here's how we'll do it:

The Upkeep experience

Here's what you can expect on Upkeep:

Upkeep is for you if...

Upkeep is not for you if...

Questions you might have

How much will it cost?

The fixed monthly fee for new clients will increase in future. We currently charge £3000 GBP per month (or $5000 USD per month if you prefer) for Upkeep. For extra emphasis we must repeat: this fee will increase for new clients in future.

Can you give us a discount?

In return for pre-paymeent of your fees in full, we offer the following discounts:

To summarise:

Pre-payment period Percentage discount Effective monthly fee Total saved
1 month 0% £3000 £0
3 months 5% £2850 £450
6 months 10% £2700 £1800

At the USD rate:

Pre-payment period Percentage discount Effective monthly fee Total saved
1 month 0% $5000 $0
3 months 5% $4750 $750
6 months 10% $4500 $3000

How much availability do you have?

We currently have the capacity to support three additional clients on Upkeep.

Who will work on maintaining my project?

On a given week, the active developer on your project will be any one of our experienced team of developers. So that we can provide a continuous service, we prefer not to assign a single developer to a single project.

How much time will you actually spend on my codebase?

We will set aside one to two days of developer time per week for your codebase. In addition to this we will also rotate our QA engineer onto your project on an as-required basis.

How will your prioritise my retainer with other Upkeep clients?

All clients under Upkeep will receive equal priority to the extent possible, but we allow for a bit of flexibility in this. If an urgent issue crops up for you and we think it might be worth doing a little extra time this month to fix it, we might decide to keep going until the fix is implemented. We'll probably prioritise other clients slightly higher the month after.

Can we negotiate a different agreement?

Probably not. Part of the value of this service is that over time we've built up expertise on the specific problems it solves. This means we can efficiently and competently deliver the services offered here for a fixed monthly price. If there were services we thought we could deliver with the same level of expertise, we probably would have included it in Upkeep.

What happens if I'm not happy with Upkeep?

If for whatever reason you're not happy with the service you get under Upkeep we'll refund the previous months fee in full. You can also cancel Upkeep at any time. There are no long-term contracts or any terms that lock you into Upkeep.

Where are you based?

We're a globally distributed company. We currently get our work done in London and Brighton in the UK, Christchurch in New Zealand and Porto Allegre in Brazil.

Interested? Here's what happens next

If this sounds like something you'd find valuable, here's what we're going to do next:

  1. You get in touch with us noting your interest in Upkeep.
  2. We schedule a call to talk about your situation.
  3. You give us access to your codebase so we can determine whether can provide a good service for you under Upkeep.
  4. If we're both happy to continue we set a start date and begin the service.

To kick things off, please send an email to [email protected] stating your interest in Upkeep. We look forward to hearing from you.