Every custom software project is, by definition, something that has not been built in exactly this way before. So when someone asks for a fixed number up front, the honest answer is that a single number would be made up. What we can give you is a range, and a clear account of what would make that range tighter.
That is not hedging. It is how estimation works when the thing is genuinely new.
Why a single number is a warning sign
A precise estimate for unfamiliar work implies a confidence no one actually has. The risk is not in the parts you can see — it is in the integrations that turn out to be undocumented, the edge cases the business has lived with for years, and the requirement that only surfaces when someone sees the first version. A good estimate accounts for that uncertainty instead of pretending it away.
We estimate ranges, and we say why they are wide
Early on, an estimate might span a factor of two or three. That width is information: it tells you where the unknowns are. As we learn more, the range narrows — and we would rather show you that narrowing honestly than commit to a number we would have to walk back.
- What we are confident about — the parts that resemble work we have done before.
- What we are unsure about — the integrations, the data quality, the requirements still in flux.
- What would resolve it — the specific question or spike that would turn an unknown into a known.
Discovery is how the range gets smaller
The fastest way to a tighter estimate is a short, focused discovery: enough architecture and enough poking at the risky integrations to replace guesses with facts. Sometimes that is a conversation. Sometimes it is a few days of building the one part everything else depends on. Either way, it is cheaper than committing to a number and discovering the truth mid-project.
An honest range you can plan around beats a precise number you will have to renegotiate.
What you can do before you even call us
If you want a first sense of scale, our project estimator will give you an indicative timeline and team size from a few inputs. It is deliberately a ballpark — the point is to frame the conversation, not to replace the discovery that makes an estimate real. When you are ready for a number you can actually plan around, that is what the scoping call is for.