ABAkash Bansal

Home / Notes

Guide · Hiring, contracts & ownership

Why founders waste $50K on agencies: the structural causes, and the terms that prevent each one

Agency wasted your money? Why outsourced development goes wrong, from upfront payment to code you don't own, and the contract terms that prevent each.

Short answer

Founders rarely lose $50K because a developer was evil. They lose it to structure: paying upfront, vague scope, hourly incentives, junior staff, code held in someone else's accounts, and no working demo until the end. Fixed scope with milestone payments, client-owned repos from day one and weekly working demos close most of those gaps.

Search Reddit for founders and outsourced development and you'll find the same post written many ways. In "I wasted $50,000 building my startup" (r/startups, October 2024), a non-technical founder describes nearly killing the company before launch, about 18 months after hiring an outside developer. In "Learn from my $38k mistake", a founder describes being sold by an agency pitch and paying $38K in advance in exchange for a 10% discount.

I'm summarising these threads from what's publicly visible, and the details may have been edited since. But the pattern in the replies is consistent, and it isn't "the developer was a crook." It's structure. The way the deal was set up made the bad outcome likely before anyone wrote a line of code.

I'm a founding engineer who builds MVPs for founders, so I have an obvious interest here. I'll be specific about what my terms prevent and what they don't.

Why do founders waste so much money on agencies?

Because the money is committed before the founder can see the work, and the contract gives the founder no leverage, no visibility and no ownership while it's being spent. Each of those is a structural gap, and each one has a matching term that closes it.

In engineering terms, a development contract is a protocol between two parties with different incentives. A good protocol doesn't rely on either side being nice. It makes the expensive failures hard to reach.

Cause 1: Paying most of the money upfront

Paying upfront removes your only leverage. In the $38K thread, commenters repeatedly said payments should have been tied to milestones and deliverables. Brad Luttrell, who has worked on both sides of agency deals, makes the same point in "Startup founders, you're screwing up outsourced development": pay by milestone, and budget for maintenance.

The term that prevents it: payments split across milestones, each released when you've clicked through a working demo of that milestone. A discount for paying everything upfront is a discount for giving up your leverage.

Cause 2: A scope nobody wrote down

If the scope is a pitch deck and a few calls, every disagreement later becomes a change request. "I assumed login with Google was included" turns into an invoice. Commenters on the $38K thread made exactly this point: the contract should have spelled out functional and technical requirements.

The term that prevents it: a written scope that lists what's in version one, what's explicitly out, and how changes are priced. Then a fixed quote against that scope. The developer carries the risk of their own estimate, which is where it belongs. Before the first quote arrives, a rough range from the app cost calculator tells you whether it is in the right order of magnitude.

Cause 3: Hourly billing rewards more hours

This isn't a moral failing. It's an incentive. Luttrell's line is the shortest version: "Agencies bill for hours, not years." On hourly terms, scope growth, rework and slow decisions all make the vendor more money, and nobody inside the vendor is paid to say "cut this."

The term that prevents it: fixed price after a proper scoping step. When the price is fixed, the builder is the one who wants the scope tight, and pushing back on features becomes part of the job.

Cause 4: You're the smallest client

A $30K–$50K MVP is a small account for many agencies. Luttrell's warning, "You will never be a priority," describes the usual result: the senior people sell, and junior developers build, while the strongest engineers are on bigger accounts.

The term that prevents it: a named engineer in the contract, the person who will write your code, whom you've spoken to before signing. If that person changes, you have a right to approve the replacement or exit.

Cause 5: The code lives in their accounts

If the repository, hosting, domain or app store account belongs to the vendor, you don't own your product. You rent access to it. When the relationship breaks down, the code becomes a bargaining chip, and "we'll transfer everything at the end" depends on there being a friendly end.

The term that prevents it: you create the GitHub organisation, the cloud account and the app store accounts, and invite the developer. Code is pushed to your repository from the first day, and IP is assigned to your company in the contract. I go through the full list in who owns the code: a founder's checklist.

Cause 6: Nothing to see until the end

"We're about 80% done" is the most expensive sentence in outsourced development, because you can't check it. Weekly status emails and progress percentages are reports about work, not work. Problems found in month five cost far more than problems found in week two.

The term that prevents it: a working demo every week, on a staging link you can click yourself. If a week passes with nothing to show, you learn that in week one, not month five.

Cause 7: Launch is treated as the finish line

Software needs upkeep: operating system updates, security patches, dependency changes, bugs found by real users. Luttrell lists this as a common blind spot. If nobody planned for it, the product slowly breaks, or the founder ends up on a costly retainer with the only team that understands the code.

The term that prevents it: written design docs, a readme that lets another developer set the project up, an estimate of monthly running costs, and a handover session. The goal is that you could hand the repository to someone else and they could carry on.

Which contract term prevents which failure?

FailureWhat it looks likeTerm that prevents it
Upfront paymentNothing left to withhold when quality slipsMilestone payments tied to working demos
Unwritten scopeSurprise change requestsWritten in/out scope, fixed quote
Hourly incentivesScope and timeline keep growingFixed price after scoping
Junior staffingSales team and build team are different peopleNamed engineer in the contract
Vendor-owned codeCode held back in a disputeClient-owned repos and accounts from day one, IP assignment
No visibility"80% done" for monthsWeekly working demos you can click
No handoverLocked into one team foreverDesign docs, readme, running-cost estimate, handover

These are the terms I use on my own builds: a fixed quote after scoping, weekly working demos, client-owned code, repos and cloud accounts from day one, written design docs and a handover. You don't need to hire me to get them. Ask any developer or agency for the same terms. How they react is the most useful vetting signal you'll get, and I cover the rest of the vetting process in how to vet a developer when you can't read code.

What these terms don't protect you from

Honesty requires this section. Good contract terms prevent the delivery failures. They don't prevent:

And not every agency is the problem. Commenters on the same Reddit threads pushed back that plenty of startups are built well by outsourced teams, and that's true. A larger build that needs a designer, a project manager and several developers at once can suit an agency. The question is never "agency or not." It's whether the deal's structure protects you. The setup I'd use with any outside team, onshore or offshore, is in outsourcing app development done right.

If you've already lost money on a build, what now?

  1. Secure access first. Get admin access to the repository, hosting, domain, database and app store accounts, and export your data, before you raise a dispute.
  2. Get an independent assessment. Pay a senior engineer who has nothing to sell you for a few hours to judge whether the code is worth keeping.
  3. Read your contract for IP assignment, payment terms and termination before you escalate.
  4. Rescope before rebuilding. The second build should be smaller than the first plan, not a copy of it.

For what a focused first version should cost, see the MVP cost breakdown. For the bigger choice between a cofounder, an agency, a freelancer and a founding engineer, see this comparison.

If you're about to sign a development contract and want a builder on these terms, here's how I work and what it costs.

Questions founders ask

What should I do if an agency wasted my money?

First, secure what exists: get admin access to the repository, hosting, domains and app store accounts, and export your data. Then get an independent senior engineer to assess whether the code is worth keeping. Only after that decide between continuing, switching teams or rebuilding. Check your contract for IP assignment and payment terms before you escalate.

How do I avoid getting scammed by a software agency?

Pay by milestone, with each payment tied to a working demo you can click. Keep the code in a repository you own from the first day. Get the scope in writing with what's in and out of version one, and ask to meet the developers who will actually build it, not only the sales team.

Is a fixed-price contract better than hourly for an MVP?

For a first version with a written scope, usually yes, because the developer carries the risk of their own estimate and you get a known cost. The trade-off is flexibility: changes go through a change request with a price. Hourly suits work where the scope genuinely can't be known, such as research or ongoing iteration after launch.

Are all development agencies bad for startups?

No. Some agencies do excellent work, and a larger build that needs design, project management and several developers at once can suit one. The problems in this article come from contract structure and incentives, not from the word 'agency'. A freelancer on bad terms can fail the same way.

How much should an MVP cost if agencies charge $50K or more?

It depends on scope far more than on who builds it. A focused MVP with one core workflow can cost much less than a feature-complete product. Price the version you need to test your riskiest assumption, not the version you imagine at scale. My MVP cost breakdown shows the line items.