Skip to content
Quote-Based, Not Rate-Carded

What a project actually costs

We do not publish a rate card. Here is what decides the number instead, what is in every build regardless of it, and how to get a real figure in one call.

Why there is no price list

The six things we do run from a consulting engagement to a multi-tenant SaaS platform that someone will operate for years. A single number across that range would be either so wide it told you nothing, or so specific it was wrong for almost everyone who read it.

The honest answer is that scope decides cost, and most briefs are not settled enough to price on the day they arrive. What we can do — and what the free consultation is for — is turn a brief into a scope quickly, and give you a number we are willing to stand behind rather than one that moves every time something is discovered.

What Moves the Number

Five things that decide a quote

In roughly this order of impact. Each is something we have written about at length, so you can read the reasoning rather than take our word for it.

How settled the scope is

The single biggest factor, and it is not close. A four-to-six-week MVP is not a faster build — it is a smaller question, and the window holds only because the scope is settled before anything is written. A brief that is a list of features rather than a question with a yes-or-no answer is a two-to-four-month build wearing a disguise.

What a four-to-six-week MVP includes

What it has to talk to

Integrations are where estimates go wrong, because the API docs describe the happy path and the work is in everything else — partial failures, retries, webhooks that arrive twice or out of order, and the reconciliation nobody scoped. Two systems that must agree on state cost more than either system alone.

What two-way POS integration actually involves

Whether it is multi-tenant

If the product will ever serve more than one organisation, that decision belongs in the first data model rather than the second. Adding a tenant column at the start is one column; adding it after launch is archaeology across every table, query and index you have written since.

Choosing a multi-tenant isolation model

How many places it has to run

Web, iOS and Android are three release processes, three review cycles and three sets of platform rules — not one build shown three ways. Cross-platform narrows the gap but does not close it, and which approach is cheaper depends on what the app actually does.

Mobile app development

What happens after launch

A build that ends at launch and a platform someone runs for years are different engagements with different numbers. We run two SaaS products of our own, so the estimate reflects what operating software actually costs rather than what shipping it once costs.

What running our own SaaS taught us

What is in an MVP regardless of the number

Cheaper does not mean thinner in these places. Every MVP we ship carries the same floor, because each item on it is either load-bearing for the question being asked or unrecoverable if skipped. When a budget is tight, the cuts remove variation — fewer states, fewer edge cases, fewer settings — not the list below.

  • Real authentication — sessions, password reset, invite or signup, and a logout that actually invalidates.
  • Payments, when the question involves money. A fake checkout tests nothing about willingness to pay.
  • An admin surface, so support questions and data fixes do not need a database client.
  • Deploys, environments and rollback — a pipeline, a staging environment, automatic migrations, and a way back.
  • Error tracking and structured logs. Without them an MVP produces anecdotes instead of answers.
  • Backups that have been restored at least once. An untested backup is a belief.
  • A data model that can carry version two.

Notice how little of that is the product. That is the point of listing it — and it is set out in full, with what does get cut and how to cut it without paying twice, in what a four-to-six-week MVP includes.

The Budget Question

Why the form asks for a range

It changes what we would recommend, not whether we reply. A band tells us which version of a solution is worth designing — and saves you a proposal built around a number that was never going to work.

Under $25,000

$25,000 – $50,000

$50,000 – $100,000

Over $100,000

“Let’s discuss” is a real option on the form and not a trap. If you genuinely do not know yet, say so — working out the right range is part of the conversation, and it is a better use of the call than guessing before it.

How to get an actual number

Start with the free 30-minute consultation. It is with an engineer rather than a salesperson, there is no commitment attached, and you leave it with a clear next step whether or not we are the right people for the work. Messages sent through the contact form get a reply within 24 hours, including the ones that turn out not to be a fit.

Bring what you are building and what problem it solves, which of the six services it looks like or that you are not sure yet, a budget band even if it is rough, and when you need it live and what is driving that date. With those four, the first real response can be a plan and an estimate rather than a list of questions.

Engagements are governed by our terms and conditions, and refunds follow our refund policy.