Join our Outsourcing Academy

Case Study: From Freelancer Chaos to Reliable Delivery

Most agencies don’t go looking for a web development partner because they’ve had a disaster. They go looking because they’re tired.

Tired of chasing a freelancer who’s gone quiet. Tired of guessing whether a build will land this week or next. Tired of being the person who has to phone the client and move the launch date again.

This is the story of one of those agencies — a design and marketing studio in the South East who came to us with a freelancer bench that had stopped working, and who now runs more than forty web projects a year through us without a single missed launch in the last twelve months.

The client is anonymised at their request, and the delivery data below is taken from our own project records.

The starting point: three freelancers and no system

The agency had eight people in-house: strategy, brand, design, copy, and a two-person paid media team. No developers. Web work was sold because clients asked for it, then handed to whichever of three freelancers had capacity.

On paper that’s a sensible model. In practice it produced four specific problems.

Quality varied by whoever picked up the job. Three developers meant three approaches to page building, three interpretations of “responsive”, and three different ideas of what a handover looked like. The agency’s own designers were spending hours in QA finding the same issues over and over.

Nobody owned the timeline. A freelancer with a good month would turn a brochure site around in ten days. The same freelancer in a bad month — one where a bigger client called — would go dark for a fortnight. The agency only found out when they chased.

Small jobs were unprofitable. A two-hour content amend still required a brief, a quote, a chase, and an invoice. By the time the account manager had done all four, the margin was gone. Some of those jobs simply never got done, which quietly damaged retainers.

They couldn’t quote with confidence. Without a reliable delivery cost, the agency was pricing web work defensively — padding estimates to cover the risk, then losing pitches on price.

The trigger for change was ordinary. An eCommerce build slipped three weeks, the client escalated to the agency’s MD, and the agency lost the follow-on retainer. Nothing dramatic. Just the accumulated cost of a system that depended on individuals being available.

What we changed

We didn’t start by building anything. We started by mapping what they actually sell.

Looking at a year of their web work, three categories covered almost everything:

Small changes and amends — content updates, new pages, plugin and PHP updates. Typically one to five hours.

Standard builds — brochure sites of 8 to 20 pages, and landing pages for paid campaigns. Typically 15 to 40 hours.

Large builds — eCommerce, multi-site estates, anything with integrations. 50 hours and up.

That split mattered, because each category needs a different process. Trying to run a three-hour amend through the same briefing and approval process as a ninety-hour eCommerce build is exactly why small jobs had been losing money.

One numbered job per piece of work

Every request now becomes a numbered job with an owner, an estimate in hours, and a status the agency can see. No exceptions, including one-hour amends. The account manager doesn’t email a developer and hope; they raise a job and it appears in a queue.

This sounds administrative. It’s the single change that made the biggest difference, because it turned “how’s that site going?” from a phone call into a glance.

A fixed-hour bucket for small work

Amends under two hours are absorbed into a monthly allowance rather than quoted individually. The agency stopped losing margin to the admin of small jobs, and — more importantly — stopped declining them. Clients who get small things fixed quickly renew retainers.

One build standard, not three

All builds now use the same WordPress stack, the same page-building approach, and the same pre-launch checklist: responsive checks at four breakpoints, form testing, redirect mapping, speed pass, and accessibility basics. The agency’s designers stopped doing development QA entirely, because the same faults stopped arriving.

Estimates from history, not instinct

Because every job carries actual hours, quoting became arithmetic. A 20-page brochure site sits in a known band. A landing page for a campaign sits in a much tighter one. The agency now quotes from a table rather than from a feeling, and they’ve stopped padding.

The first thirty days

Switching delivery models mid-flight is the part agencies worry about most, so it’s worth describing exactly how it went.

Week one: inventory. We listed every live web commitment — eleven jobs in various states, four of which the agency couldn’t confidently describe the status of. Three sat with freelancers who’d gone quiet.

Week two: triage. Jobs already close to launch stayed with the original developer, with us shadowing so nothing was lost. Anything early or stalled moved across. We took hosting and access details for every site, which turned out to be the hardest part: logins lived in three different people’s heads and one spreadsheet nobody had updated in a year.

Week three: standards. We agreed the build stack, the pre-launch checklist, and — importantly — what “done” means. Previously, handover had meant “the site is live”. It now means live, tested at four breakpoints, forms verified, redirects mapped, and a short handover note written for the account manager.

Week four: first builds. Two new jobs started under the new process. Both landed on date.

Nothing about that month was glamorous, and the access audit alone took the better part of two days. But it removed the thing that had been causing most of the pain: nobody, including the agency, had a single reliable view of what was in flight.

What the year looked like

Over the twelve months that followed, the agency ran more than forty separate jobs through us. The mix is worth showing, because it’s not what people expect when they imagine “outsourced web development”:

Job typeShare of jobsTypical size
Amends, updates, small fixesAbout half1–8 hours
Brochure sites and landing pagesRoughly a third15–40 hours
Large builds and eCommerceThe remainder50–95 hours


The largest single project in the period ran to just over 90 hours across a multi-phase build. The smallest was 1.5 hours. Both went through the same job system, which is the point — the process scales down as well as up.

Two patterns emerged that the agency hadn’t predicted.

The small jobs became the relationship. Half the work by volume was maintenance-grade. Individually trivial; collectively the reason clients stayed. Once those jobs were reliably handled, retainer conversations got easier.

Repeat clients grew. Several clients that started with a single brochure site came back within the year for a landing page, then a phase two, then ongoing updates. The agency didn’t have to win new logos to grow web revenue; they had to be good enough at delivery that existing clients kept asking.

The results

No missed launch dates in twelve months. Dates moved when clients moved them — content arriving late is still the commonest cause of delay in any web project — but nothing slipped because of developer availability.

QA time in-house dropped to near zero. The agency’s designers went from routinely spending half a day per project checking builds to spot-checking at handover.

Web became a quotable line. With a rate card built from real hours, the agency stopped treating web as a favour to clients and started pitching it. Web work is now offered on every new proposal rather than only when asked for.

Capacity stopped being a constraint on selling. The MD’s summary was blunt: “We used to sell what we thought we could deliver. Now we sell what the client needs.”

What actually made the difference

Reading this back, it would be easy to conclude that the fix was hiring a different supplier. It wasn’t. Two of those freelancers were technically good. The problem was structural.

Freelancers give you a person. A delivery partner gives you a system: cover when someone’s ill, a queue that doesn’t depend on one inbox, a consistent standard, and enough throughput that a two-hour job and a ninety-hour job can coexist without one starving the other.

If you’re running web work through individuals right now, three questions are worth asking:

1. If your main developer went quiet tomorrow, how long until you knew? If the answer is “when the client asks”, you don’t have a process — you have a habit.

2. What does a two-hour job actually cost you to deliver? Count the brief, the chase, the QA, and the invoice, not just the developer’s time.

3. Can you quote a 15-page site in under five minutes? If not, you’re pricing from fear.

None of the changes described here were clever. A numbered job for every request. One build standard. A bucket for small work. Estimates from history. It’s ordinary operational discipline — which is exactly why it works, and exactly why it rarely happens when web delivery is someone’s side responsibility.

Could this be your agency?

We work as the invisible web development team behind marketing and design agencies across the UK. Your brand, your client relationship, our delivery — from one-hour amends to multi-phase eCommerce builds.

If your web work currently depends on whoever’s free, it’s worth a conversation. Book a call with us and we’ll walk through your last twelve months of web projects and show you where the time and margin are going.