How to evaluate app development bids

By Weapp · Updated

Evaluate app bids by normalizing them to the same scope before you compare price: the same features, number of platforms, design, testing, and maintenance. Scrutinize the assumptions and disclaimers, that's where the differences hide, and send a written round of questions to every vendor before deciding. The bottom line is the least comparable number in a bid.

Three bids for the same app: SEK 650,000, SEK 1,100,000, and SEK 1,750,000. Which one is cheapest? You actually can’t answer that yet, because the three vendors have, in all likelihood, priced three different things. The bottom line is the least comparable number in a bid. Here’s the method for comparing what can actually be compared.

Step 1: Normalize the bids to the same scope

Build a simple table breaking down each bid against the same line items. If a bid is missing an item, ask what it would cost to add, or estimate it. Only then do you compare price.

Item to normalizeCommon difference between bids
Features includedOne vendor prices the entire wish list, another only the "musts"
PlatformsiOS + Android, or just one? Native or cross-platform?
DesignReady-made components versus a custom visual language with user testing
Backend and adminIs the server side and admin panel included, or assumed to already exist?
IntegrationsWhich systems are included, and who bears the risk if the APIs are worse than expected?
Testing and qualityIts own line item with a budget, or invisibly baked in?
Launch and storesThe App Store/Google Play process, review rounds
Maintenance after launchA priced monthly cost, or "we'll follow up on that"?
Project managementIncluded in the hourly rate or its own line item at 10–20%?

Once everything is recalculated to the same content, the spread usually shrinks considerably, and sometimes the bids swap places: the “most expensive” one turns out to be the only one that priced the whole job.

Step 2: Scrutinize the assumptions and disclaimers

The differences that remain almost always hide in the fine print. Read the assumptions and exclusions sections with a pen in hand:

  • “Assumes the client will provide…” API documentation, test data, content, brand guidelines. Reasonable in itself, but what happens to price and timeline if you can’t deliver on time?
  • “Changes are handled as add-on orders.” Standard, but ask what the hourly rate is for add-ons and how small a change counts. This is where the margin gets recovered by whoever gave a low base price.
  • “Integration with X assumes a working API.” Who bears the risk if the API is undocumented or unstable? That one item alone can swing hundreds of thousands of kronor.
  • Number of revision rounds and test scope. “Design included” can mean one round of feedback, or an iterative process. “Testing included” can mean the developers’ own tests, or structured QA on real devices.
  • What’s explicitly NOT included. Often the most honest and informative part of the bid. If the section is missing entirely, that’s not because everything is included.

Step 3: A round of questions before deciding

Send the same written questions to every vendor and request written answers, they become part of the contract basis. A good core set:

  1. What are the three biggest risks in the project, and how do you handle them?
  2. What in your bid is priced with the most uncertainty, and in which direction?
  3. Which people are staffing the project, and how much of their time?
  4. What does a typical month of maintenance cost after launch?
  5. If the budget had to shrink by 20 percent, what would you suggest cutting?

The answers separate the wheat from the chaff faster than any price comparison. Whoever answers questions 2 and 5 concretely understands their own estimate; whoever answers “no major risks” hasn’t thought it through, or isn’t saying. Give every candidate the same response time, and feed the answers back into the normalization table so the final comparison rests on the adjusted numbers.

Weigh in what isn’t written in the bid

Normalizing makes the prices comparable, but the decision should weigh in more: references, the team’s seniority, and how the vendor behaved during the bidding process itself. Did they ask questions about your business? Did they push back on anything in the brief? A vendor that helps you think better already at the sales stage is often the one that does so in the project too. At Weapp, we think a good bid should hold up to exactly this scrutiny, get in touch if you’d like to see how we build ours, or read more about how we work.

Frequently asked questions

Why do bids differ so much in price?

Usually because they're pricing different things: different interpretations of scope, different amounts of design and testing, different assumptions about your integrations. Only once every bid is recalculated to the same content do you see the real price differences, and they're usually much smaller than they looked.

Should I choose fixed price or time and materials?

Fixed price gives predictability but requires the scope to actually be locked, and the vendor prices in the risk. Time and materials with a budget cap and phase check-ins gives flexibility as requirements change, and they do. For most app projects, a phased model with a cap is the best compromise.

Is the most expensive bid the best one?

Not necessarily, but the cheapest one more often rests on the thinnest assumptions, someone has to pay for what wasn't priced in, and that tends to be the client, via change-order invoices. Compare what's included, not the bottom line. A bid with honest assumptions and a visible testing budget is often the better buy.

How long should evaluating bids take?

Budget 2–4 weeks from receiving the bids to a decision: one week to normalize and read through them, one for a round of questions and revised answers, one for reference calls and final negotiation. That's short compared with the fact that the decision binds you to a partner for a year or more.

What do I do if a bid is unclear on an important point?

Ask in writing and request a written answer, the answer becomes part of the contract basis. A vendor that answers clearly and adjusts the bid shows how it will handle uncertainty in the project. One that answers evasively to a direct question during the sales stage won't get clearer after the contract.