Contact

Technical rescue

Say yes to the Drupal project you would otherwise decline

An inherited platform nobody wants to touch, an upgrade that stalled halfway, a backlog growing faster than the retainer. This is the work most agencies turn away. It is the work I would rather have.

I will tell you what I would fix first, no charge and no pitch.

What it looks like by the time it reaches me

The platform nobody documented.

Built by people who have moved on. No runbook, no local build that works on a new machine, and a deploy nobody wants to run on a Friday afternoon.

What the first week on an inherited Drupal estate actually looks like

The upgrade that stalled halfway.

Composer will not resolve, or resolved once and broke something nobody can name. There is a branch three months old that no one wants to be the person to merge.

The audit the client already agreed to.

An accessibility or security report with a date attached to it, a commitment already made on the agency’s behalf, and nobody free to do the work.

The backlog that outgrew the retainer.

Tickets arrive faster than they close, so the structural fix that would slow the arrivals is the one thing that never gets scheduled.

By the time work like this is handed to a subcontractor, it is usually already late, already promised to a client, and already costing more than it was quoted. That is the normal starting position, not a disqualifier.

Stabilise first, then improve

Nothing on a rescue gets faster by being rushed onto a platform nobody can revert. So the first work is never a feature and rarely a fix: a build that runs on a clean machine, a staging environment that matches production closely enough to trust, and a recovery path executed once on purpose, before it is needed.

Then triage, in writing: what is actually broken, what is drifting toward broken, and what is merely ugly. Each with what it costs to fix and what it costs to leave. That document is the deliverable, and it is what your fixed quote is built from.

The first deliverable is a written finding you can forward to your client, not a commit.

It stays yours whether or not the work that follows is mine.

Fixes then land in the order that lowers risk fastest, which is almost never the order the backlog is in.

How a rescue starts

  1. You send a URL, or a repository, and what is hurting. I tell you what I would fix first, no charge and no pitch.
  2. The written audit, with the detail behind it, is paid. It is yours to keep and to forward, whether or not the work follows.
  3. You get a fixed quote, or an hourly block, whichever fits the shape of the problem.
  4. I work in your tracker, on your branch, to your review. White-label or co-branded, and that is your call, not mine.

How white-label subcontracting actually works, and what I need from your team to keep it invisible

What this has already produced

A festival build that was behind schedule.

Cinequest Film Festival - full build and continuous maintenance since 2018, across cinequest.org and picturethepossibilities.org. Multi-step donor and passholder webforms, festival passes and ticketing, sponsor management, and the traffic peaks a festival calendar brings.

The festival launch shipped on its date.

“Johan was able to make up the time to get us back on schedule. He provides excellent status and understood the updates/changes to get the project to align with the goals.”

Halfdan Hussey, Cinequest Inc.

An ADA conformance commitment on a university estate.

Remediation on the medical school and clinical practice sites of a large US public research university, alongside custom modules, theming, migrations and integrations across seven sites and an in-house design system.

3,431 contrast failures closed across 1,587 pages, plus 142 broken ARIA menus and references.

Eleven sites carried through five core upgrades.

A portfolio maintained continuously for a US agency: six distinct business models rather than one template repeated, on Drupal 10 and 11, including single sign-on, ticketing, tenant workflows and public procurement.

Five core upgrades across the portfolio. No day lost, nothing broken.

On drupal.org since 2007: drupal.org/u/joflizn

Tell me what is hurting

Send the URL, or the repository, and one paragraph on what is going wrong. You get back what I would fix first and in what order, at no charge. If the problem is not one I should take, I will say so.

johan@johanweb.net

Two US agencies already work with me this way. Both will act as references.