A wave breaking against a lighthouse

Maintenance without surprises

We take over a project from the previous contractor, put it in order and carry it forward.

Taking over a project

Application maintenance starts where your last developer stopped

It is a familiar situation: the system was built a few years ago, its author is gone, there is no documentation, and every change carries the fear that something else will break. The application still earns money, so rewriting it from scratch makes no sense - yet leaving it alone starts to hold the company back.

We begin with an audit. We review the code, the database, the dependencies and the server configuration, then describe the actual state together with the risks. You get a concrete list: what threatens an outage, what threatens a data leak, and what is merely inconvenient.

Only then do we agree the order of work. First whatever threatens continuity, then technical debt, and new features last - all in stages, so that an upgrade never stops a working business.

An engine room full of gauges and valves

What application maintenance and development covers

Code and infrastructure audit

A review of code quality, security, performance and server configuration. The output is a prioritised report, not a list of generalities.

PHP and framework migrations

Moving to a supported version of PHP, Laravel or Symfony - in stages, with tests covering the critical paths first.

Paying down technical debt

Cleaning up the places where every change is risky, and replacing abandoned libraries.

Performance

Diagnosing slow queries, missing indexes and N+1 problems, plus tuning the server environment.

Security

Dependency updates, a review of permissions and configuration, and removal of known vulnerabilities.

Ongoing care

Availability checks every 5 minutes, backups, incident response and an agreed budget of development hours.

How a project handover works

  1. 1

    Access and discovery

    We collect access to the code, database and server, then reproduce the environment locally so we can experiment safely.

  2. 2

    Audit and report

    We describe the state of the application, the risks and the estimated cost of removing them. That document is yours regardless of what follows.

  3. 3

    Securing the basics

    Backups, monitoring and urgent security fixes. First we make sure nothing blows up.

  4. 4

    Putting things in order

    Version upgrades and debt repayment, in an order driven by risk rather than convenience.

  5. 5

    Development

    Only on a tidied project do we return to new features - from then on, each change is predictable.

What we usually work with

For anyone who wants to know what we work with. If these names mean nothing to you, that is fine - this part is our job, not yours.

  • PHP 5.6 - 8.x
  • Laravel
  • Symfony
  • Yii
  • MySQL
  • PostgreSQL
  • Git
  • Docker
  • Linux
  • Nginx
  • Apache

Questions and answers

What clients ask us most often

Will you take over a project from another contractor?

Yes, that is a common case. We start with an audit: we review the code, the database and the server configuration, then describe the actual state and the risks before changing anything.

Our application runs on an old PHP version. Can that be fixed?

Usually yes. We run migrations from older PHP and framework versions in stages, starting by covering the critical paths with tests so the upgrade does not stop a working business.

What does ongoing care include?

Availability monitoring, security updates for the system and dependencies, backups, incident response and an agreed budget of hours for new features.

Do we have to move hosting to you?

No. We can work on your current infrastructure. We suggest moving only when the existing environment is itself the source of performance or security problems.

You can sleep at night

Tell us what is happening with the project and what is missing. We will start with an audit, so we both know what we are discussing.

Get in touch