App Upgrades & Ongoing Care  ·  Laravel & PHP

The application you have is worth keeping.

Your business runs on it. Your team knows it. It works. It just needs someone who’ll upgrade it, extend it, and care for it — instead of pitching you a rebuild. I’m a senior developer who specializes in existing Laravel and PHP applications: bringing them current, adding what’s missing, and keeping them healthy for years.

Need something new alongside it? Caring for an app often surfaces what’s missing around it — the workflow tool, the integration, the automation. I build those too: Custom Web Application Development →

What “ongoing care” covers

  • Version upgrades — moving your app from whatever Laravel or PHP version it’s stuck on to current, safely and in stages. This is the core of the practice.
  • New features — the additions your team has wanted for a year: integrations, reports, workflows, customer-facing improvements.
  • Refactoring — untangling the parts of the code that make every change slow and scary, so future work gets cheaper instead of more expensive.
  • Ongoing management — a retainer relationship: updates handled, monitoring in place, small changes turned around quickly, and a developer who already knows your codebase when something urgent comes up.

Why “a few versions behind” actually matters

Running an old Laravel or PHP version is like skipping oil changes — nothing happens, until it does. In plain terms, here’s what falling behind costs:

  • Security patches stop. Once your version leaves support, newly discovered vulnerabilities stay open on your server forever. This is the #1 way working applications become hacked applications.
  • Everything around the app ages too. Old versions pin you to old servers, old libraries, old integrations. Eventually the payment provider or the API you depend on drops support, and a routine change becomes an emergency.
  • Developers won’t touch it. The gap between your version and current is measured in developer willingness. The further behind you fall, the fewer people will take the work — and the more the ones who will charge.
  • The upgrade gets harder every year you wait. A two-version jump is routine maintenance. A six-version jump is a project. Waiting converts one into the other.

The good news: upgrades are methodical, well-understood work. Done in stages with tests along the way, your app keeps running the whole time. No big bang, no downtime leap of faith.

Inheriting your app

Most of the applications I care for were built by someone else. That’s normal, and it’s a specialty here (there’s a whole page about the harder cases: Project Rescue & Takeover). The takeover process is simple: I read the code, map how it’s deployed, document what I find, and start with small, safe changes to build confidence — yours and mine — before the bigger work.

You don’t need your old developer’s cooperation, blessing, or documentation. Code tells its own story to someone who’s been reading it for 30 years.

FAQ

Every developer we’ve talked to says rebuild. Why don’t you?

Because rebuilds are usually in the developer’s interest, not yours. Greenfield work is more fun and bills more hours. A rebuild throws away years of embedded business logic — every edge case, bug fix, and lesson your current app has learned — and rebuys it at full price. It’s occasionally the right call; when it is, you’ll get that recommendation in writing with the reasoning.

Our app is really old — PHP 5-era. Can you still help?

Yes. The older it is, the more the staged approach matters, but I’ve brought apps forward from every era. Old is a condition, not a verdict.

Can you just do one project, or is it retainers only?

Either. Single upgrade projects are common, and some clients call once a year. Retainers exist for businesses that want the app continuously cared for — most start with a project and decide after.

How do you charge for upgrades?

Assessment first, then a quoted price for the staged plan. You’ll know the cost before committing, and staging means you can stop at any solid milestone.

Tell me about your application.

What it does, roughly how old it is, and what’s prompting the call — that’s all I need to have a useful first conversation. Plain answers within one business day.