Skip to main content
<- back to archive
agenciesfreelancerscustom softwarevendor selectionsmall business

Rob Behbahani9 min read

Short answer: for most small-business software projects under $25K, a freelancer or a small specialist shop will beat an agency on price and speed, and the agency will beat the freelancer on continuity. The right pick depends on how big the project is, how fast you need it, and how much risk you can carry if one person disappears.

Here is the rule of thumb I give people who ask. If the project is one tool, one team, and one clear problem, do not hire an agency. If the project is a multi-year platform with a dozen stakeholders and a compliance team, do not hire a solo freelancer. Everything in between is where the specialist shop lives, and that is where I built Contriboot on purpose. I run one of those shops, so read this knowing my bias.

What are the three options?

Agency. A company with account managers, project managers, designers and developers. You sign with the company, not a person. Billing is hourly or a monthly retainer. Projects start around $25K to $50K and go up.

Freelancer. One developer, found on Upwork, a referral, or LinkedIn. You talk to the person who writes the code. Billing is hourly or fixed. Projects range from a few hundred dollars to maybe $20K before a solo person hits capacity.

Small specialist shop. One to three people with a defined offer, a set process, and a stated price range. A freelancer with the structure of an agency: written scope, fixed price, support plan, handoff docs. Contriboot fits here: fixed-price builds from about $3K to $25K, US-based, nothing outsourced, and you own the source code when it ships.

Labels blur. Judge the operation in front of you, not the name on the invoice.

What does a $15K project cost with each?

Say you need a custom quoting and job-tracking tool for a 12-person service business. Intake form, pipeline, customer portal, two integrations. A fair fixed price at a specialist shop is around $15K, so use that as the baseline.

| Factor | Agency | Freelancer | Specialist shop | |---|---|---|---| | Typical quote for the same scope | $35K to $60K | $8K to $18K | $12K to $18K | | Billing model | Hourly or retainer, discovery often billed separately | Hourly or fixed | Fixed price | | Discovery phase | $5K to $15K before any code | Usually free, usually informal | Included: a call and a written spec | | Timeline to first working version | 8 to 16 weeks | 3 to 8 weeks | Days to 2 weeks | | Ongoing cost after launch | Retainer, commonly $2K to $10K per month | Hourly as needed | Optional support plan, or nothing | | Who you talk to | Account manager, then PM | The developer | The person building it |

These are ranges I see in the market, not survey data.

The agency number is not a scam. You are paying for layers: a PM to run meetings, a designer, a QA person, and overhead for an office and a sales team. If you need all of those layers, the price is fair. Most $15K problems do not.

The freelancer range is wide because freelancers are wide. A $40 per hour developer overseas and a $150 per hour senior engineer in Austin are both "freelancers." The variance is the risk you are buying.

Who do you actually talk to, and how fast do things move?

At an agency, your contact is an account manager. Your request goes to a PM, who writes a ticket, which goes to a developer who may never have heard your voice. Every question round-trips through two people. Fine for a large project where coordination is the job. Pure friction for a small tool.

With a freelancer, you talk to the builder. Decisions happen in a Slack message. The downside is that the same person is also doing sales, invoicing, and three other clients' work. Response times swing from minutes to days.

A specialist shop tries to keep the direct line without the chaos. At Contriboot, you talk to me, the person writing and reviewing the code. Intake runs through a structured configurator so the scoping call confirms details instead of discovering them. That is how some builds have gone from signed quote to first working delivery in 36 to 48 hours. Not every project moves that fast, and the quote says which ones will.

Speed also depends on process, not headcount. Ask any vendor how they break a project into pieces and how you see progress. A good answer sounds specific. A bad one sounds like "we're agile."

Which option carries the most risk?

Every option has a failure mode.

Agency risk: scope and budget. The hourly model rewards longer projects. Not through bad faith, through incentives. A change request becomes a ticket, a sprint, an invoice. Many agency contracts also keep the code in their repository until final payment, and some keep it after through hosting you cannot leave easily. Read the IP clause.

Freelancer risk: the bus factor. One person knows everything. If they take a full-time job, get sick, or stop answering, you own a half-finished tool nobody else can read.

Specialist shop risk: capacity and fit. A small shop can only take so many projects, and a good one will say no when the project is outside its range. If a shop that advertises $3K to $25K builds says yes to your $200K platform, that is a red flag.

How to defuse the risk regardless of who you pick:

  1. Get the source code in a repository you control, from week one, not at final payment.
  2. Require written documentation: how to run it, how to deploy it, where the secrets live.
  3. Keep the stack boring enough that another developer can take it over. Postgres, a mainstream framework, hosting with a dashboard.
  4. Confirm there is no required monthly fee to keep using what you paid for.
  5. Agree in writing on what support covers after launch.

Points 1, 2 and 4 are how Contriboot works by default: full source, deployment docs, one-time fee, optional 6 or 12 month support plans if you want someone on call. That should be the baseline, and often it is not.

What questions should you ask before signing?

Use this list on every vendor. The answers tell you more than the portfolio does.

  1. Who writes the code, and will I talk to them directly? If the answer is "our team," ask for a name.
  2. Where does the code live during the project, and who owns it when we are done? The right answer is "in your repo, you own it outright."
  3. Is the price fixed? If not, who absorbs overruns?
  4. What is the first thing I will be able to click, and when? Anyone who cannot name a date for a working first version is guessing.
  5. Show me something you shipped that I can see working. Working software beats case-study PDFs. The things I point to are Aurora CRM, an AI sales CRM for a commercial solar contractor, and the Solo Miner Clinic repair-shop platform.
  6. What happens if you are unavailable for a month? You want to hear about documentation and handoff, not reassurance.
  7. Is any of the work outsourced? Not a dealbreaker, but you should know who is actually in the room.

Which option fits which kind of project?

Pick an agency when:

  • The project is $50K or more and will run six months or longer.
  • You need research, brand strategy, and engineering from one vendor on one invoice.
  • Your organization requires a vendor with insurance, a legal team, and references at your size.

Pick a freelancer when:

  • The job is small and well-defined: a script, a landing page, an integration, a fix.
  • You have your own technical lead who can review code and manage the work.
  • Budget matters more than speed and you can tolerate variance.

Pick a specialist shop when:

  • The project is a real internal tool, website, or platform in the $3K to $25K range.
  • You want a fixed price and a dated delivery before any money changes hands.
  • You have no technical person in-house and need the vendor to own the architecture decisions.
  • You want to own the result outright, with no retainer and no lock-in, but still want someone to call.

That last profile describes most of the businesses that come through my configurator: a contractor replacing spreadsheets, a clinic automating intake, a sales team that outgrew HubSpot's free tier. None of them need an agency. Plenty of them have been burned by a freelancer before. The specialist shop exists for that gap.

FAQ

Is a freelancer always cheaper than an agency?

Almost always on the quoted price. The total cost is less clear. If the freelancer leaves mid-project and a second developer has to rebuild from scratch, the cheap option becomes the expensive one. Price the risk, not just the invoice.

Can a small shop handle a project as well as an agency?

For projects under about $25K, a well-run small shop usually handles them better, because there are fewer handoffs and the person scoping the work is the person building it. Above that range, the agency's coordination layer starts to earn its cost. Pick based on project size, not vendor prestige.

Should I own the source code for my business software?

Yes, without exception, and from the start of the project rather than at final payment. Owning the code means you can switch vendors, hire in-house, or keep running the tool for years with no monthly fee. Any vendor that resists this is selling you a rental, not a build.

How long should a $15K custom tool take?

With a clear scope and a focused builder, a first working version in one to two weeks is realistic, and some builds ship in days. Eight to sixteen weeks is normal at an agency because of process overhead, not because the code takes that long. If a timeline seems slow, ask what the time is being spent on.

If you have a tool in mind and want a straight answer on what it would cost, describe it in the configurator. You will get a fixed quote and a real timeline, usually the same business day, and you can decide from there.

// end of transmission

Want something like this built for your business?