Three options when commissioning custom software: a solo freelance developer, a small dev shop (5–20 people), or a full digital agency (20+ people, multiple specialisations). Each suits different projects. Here’s an honest comparison from someone who’s worked all three sides.
Pricing Reality
| Project Type | Freelance | Dev Shop | Agency |
|---|---|---|---|
| Small spreadsheet replacement | £300–£1,500 | £5,000–£15,000 | £20,000+ |
| Mid-size internal tool | £1,500–£6,000 | £10,000–£30,000 | £30,000–£80,000 |
| Full multi-module system | £5,000–£15,000 | £30,000–£80,000 | £80,000–£250,000+ |
| Hourly rate | £30–£90 | £75–£125 | £100–£200+ |
The price differences aren’t random — they reflect real differences in overhead, project management, specialisation, and risk allocation.
Communication
- Freelance: You speak directly to the person writing the code. Fastest decisions, clearest understanding, but limited to one person’s availability.
- Dev shop: Usually a project manager handles communication. Decisions take longer to reach the developer. Meetings tend to be longer.
- Agency: Multiple layers — account manager, project manager, lead developer, individual developers. Significant translation overhead.
Speed
- Freelance: Fast for small-to-medium projects. Limited capacity for very large ones.
- Dev shop: Medium speed. Good for medium projects requiring 2–3 specialisations.
- Agency: Slow for small projects (overhead is too high). Good for large multi-track projects.
Specialisation
- Freelance: One specialisation done well (or two if experienced). Outside that, sub-contracts.
- Dev shop: Multiple specialisations on staff (frontend, backend, design).
- Agency: Full stack including UX research, brand, content, marketing, dev, QA, ops.
Quality Risk
Counter-intuitively, quality variance is highest at the agency tier — large projects with many people involve more handoffs and more places for misunderstandings to compound. Freelance quality variance depends on the individual; dev shop quality is usually the most consistent.
Ownership and Lock-In
- Freelance: You usually own the code outright. Easy to take it elsewhere if needed.
- Dev shop: Usually own the code. Some shops have proprietary frameworks that complicate handover.
- Agency: Ownership varies; check the contract carefully. Some agencies build on their own platforms that lock you in.
When to Hire a Freelance Developer
- Project budget is £500–£15,000.
- Project scope is well-defined or you can iterate quickly.
- You want direct communication with the person building it.
- You’re comfortable with the developer using a standard tech stack you can hand off later.
When to Hire a Dev Shop
- Budget is £15,000–£100,000.
- You need multiple specialisations (e.g. design + dev).
- You need redundancy (developer holiday or illness can’t stop the project).
- You want a project manager handling day-to-day coordination.
When to Hire a Full Agency
- Budget is £100,000+.
- The project requires UX research, brand, content, dev, and ongoing marketing.
- You need a large multi-track delivery with deep specialisation.
- The vendor’s name on the project has business value (regulated industries, enterprise procurement).
Common Mistake: Wrong Vendor Tier
The most common mistake I see is small businesses going to agencies for small projects. The agency’s minimum project size is often £30,000+, and they’ll find a way to scope your project to fit. You end up with a £50,000 build for what could have been a £1,500 freelance project.
The reverse mistake — hiring a freelancer for a 12-month enterprise system — is also damaging but less common.
How to Choose
- Estimate your project complexity honestly.
- Get quotes from one of each tier.
- Compare not just price but communication style, fit, and ownership terms.
- Match vendor tier to project tier.
Need a Recommendation?
Send me a description of what you need to build. If your project doesn’t fit a freelance build, I’ll tell you that and refer you to the right kind of vendor.
Got a Spreadsheet That's Driving You Mad?
Send it over — I'll tell you what an app version would look like and what it'd cost. No obligation.