Skip to content

Bug fixes, upgrades, and maintenance retainers

Fixes, version upgrades, and a monthly block of hours for apps that are already in production.

Laravel / PHPNode.jsReactExisting production stacks

Starting at

[PLACEHOLDER: starting price for Fix, Upgrade, and Maintain]

A single bug is quoted after we reproduce it. A retainer is a block of hours, not an unlimited promise.

  • A fix for a reproduced bug, with a note on the cause
  • Framework or language upgrades scoped after a read of the dependencies
  • A monthly hour block with a short log of what each block was spent on
  • No lock-in: the repository stays yours if you stop

What we build

How this typically works

  1. 01

    Reproduce or read

    We do not quote a bug we have not seen, or an upgrade we have not scanned.

  2. 02

    Choose fix or retainer

    One incident is fixed-price or a few hours. Ongoing care is a monthly block.

  3. 03

    Log the work

    You see what changed. Retainer hours do not disappear into a vague monthly line.

  4. 04

    Stop cleanly

    You can end a retainer. You already own the code.

Production software needs someone who will look at a real error, change the smallest amount of code that fixes it, and tell you what happened. That is this service. It is also where framework upgrades live when you do not want a new product, you want the one you have on a supported version.

Who this is for

This is not unlimited support and not a helpdesk for your customers. Your users still contact you. We contact the code.

What we build

The support window after a new build is a different thing. That window is agreed on the original project quote. A retainer starts when you want cover beyond it. The number of days in a standard support window is confirmed when you set it; until then it is not stated as a fact on this page.

Process and timeline

For a bug, send the steps and the error. We reproduce it, then quote a small fixed price or a handful of hours. For an upgrade, we read the dependency list first. For a retainer, we agree the monthly hours, the kinds of tasks that fit, and how unused hours are treated. Unused-hour rules are written in the agreement, not assumed here, until you confirm the policy you want.

Response during the working overlap is part of the arrangement. Exact hours are listed once you confirm them. See how we work for billing and reporting, and pricing for the three engagement types.

What changes the price

How quickly the bug reproduces, whether production data is required, how far behind the framework is, and how many hours you want reserved each month.

Laravel and PHP when the change is really a feature, not a fix. AWS and deployment when the failure is the server, not the application code.

[PLACEHOLDER: case study for Fix, Upgrade, and Maintain] — ask about similar projects on a scoping call.

faq

Fix, Upgrade, and Maintain FAQ

Do you offer 24/7 emergency cover?

No. Working hours overlap US mornings, UK and EU afternoons, and Australia evenings. Exact hours are confirmed with you. Overnight incident cover is not part of a standard retainer.

What is included in a retainer?

A set number of hours for fixes, small changes, and dependency updates you approve. New features beyond that are quoted separately so the retainer is not silently consumed.

Can you upgrade Laravel or PHP as part of this?

Yes. Upgrades are scoped after we see the project. They are often a fixed price on top of, or instead of, the monthly block.

What if the bug is in code we do not want you to rewrite?

We fix the bug. A rewrite is a different conversation and a different price.

Related services

Ready to talk about fix, upgrade, and maintain?

Get a fixed quote or book a free scoping call — reply within 24 hours.

No obligation. We reply within 24 hours with either a fixed quote or a short list of scoping questions.

WhatsAppGet a quote