What costs agencies most is not the difficult client — it is the price quoted before the request was understood.
A message arrives: "I want an app like X." A number goes back within the hour. Two months later the number turns out to be half the real cost, and the agency either absorbs the gap or falls out with a client it had a great relationship with.
Here is a practical way to estimate any software project before you give a number.
1. There is no price for "an app"
The word "app" is not a priceable unit, just as "building" does not determine construction cost. What drives cost is the number of screens, the number of user types, and the number of external systems involved.
2. Ask seven questions before any number
- How many user types? Each extra type means a full set of screens and permissions.
- Is there online payment? The integration is not the hard part — failures, refunds and invoices are.
- Does it connect to an existing system? And is that system's API documented? "I don't know" is a risk item, not a cost item.
- Where does the initial data come from? A thousand products in a messy spreadsheet is real work, and usually uncounted.
- Is the design ready? A finished Figma file is very different from "make it look nice."
- Who reviews and approves? One person or a committee? Decision-maker count drives duration more than anyone expects.
- What happens after launch? Agreed maintenance, or an assumption that support is free forever?
3. Estimate in phases, not as one project
One big estimate is always wrong. Split into phases that can each be delivered alone: specification sign-off, product core, integrations, then handover. The client pays per phase so your risk drops, and you re-estimate at each phase with real data instead of guesswork.
4. Write down what is NOT included
Most disputes come from things never mentioned. State explicitly what sits outside scope: content, images, store accounts, gateway fees, hosting, changes after approval. A written exclusions clause protects the relationship better than a discount does.
5. Price the unknown — and name it
Every project contains unknowns. A professional neither ignores nor hides them; they appear as a named line: "integration risk contingency." Clients accept an explained line far more readily than a mid-project surprise.
In short
A good price is not the lowest one — it is the one that does not change after signature.
If delivery is what you're missing
At Money Leek we work with marketing agencies as their sub-contracted development team: we take your client's request, return a written scope, timeline and cost within 24 hours, then build and hand over under your agency's name. The code is entirely yours, and we never contact your client.