Most software studios won’t give you a number until you’ve signed something. We’ll give you one now, before you’ve even talked to us: most of the projects we build land between $15,000 and $80,000, in writing, before any contract is signed. Smaller, focused builds can come in under that. Here is what actually moves a project inside that range, broken down by project type.
Customer portals and internal tools: $15k–$45k
A portal where clients check status, upload documents, and stop emailing you for updates is usually the cheapest item on this list, assuming a system of record already exists behind it. The price climbs with the number of user roles, how tangled the permissions model needs to be, and how much of the “just email us” workflow has to become a proper audit trail instead of a best guess.
The biggest cost driver here isn’t the interface. It’s the API underneath it. A portal that talks to one clean system is a different project from one that has to reconcile three systems that disagree with each other about the same customer record.
AI document intake: $15k–$40k
Extraction pipelines that read PDFs, invoices, and contracts, pull out the fields that matter, and route anything uncertain to a human tend to sit at the lower half of our range, because the scope is naturally bounded: a defined set of documents, a defined set of fields, a review queue for the exceptions.
What pushes this number up is document variety. Ten invoice templates from ten vendors is a bigger job than one standard form, and the honest fix is usually more evaluation work, not a bigger model. We’ll tell you on the scope call if a project like this is one of the roughly one in three AI inquiries that actually ships better as ordinary software instead.
Legacy modernization: $40k–$80k, sometimes more
Carving a legacy .NET system into maintainable services is the most expensive category we quote, and it should be. It starts with a short paid audit, because pricing a decade-old monolith off a sales call is optimism with a number attached, not a quote. The audit maps the real seams, the real dependencies, and the order that ships value earliest, and that map becomes the fixed-price roadmap. We’ve written up how the seam-by-seam approach actually works on a modernization we ran end to end.
The price here tracks how tangled the system really is: shared databases, undocumented integrations, and the number of domains, finance, inventory, HR, whatever else got bolted on over the years, that need to move.
What moves any of these numbers
A few things push any project toward the top of its range, regardless of category:
- Integrations with systems that don’t want to talk to each other. Every additional third-party API is scope, not an afterthought.
- Compliance and audit requirements. A SOC 2 posture, HIPAA-adjacent data, or a security review adds real weeks.
- Data migration from something old and undocumented. Moving data is usually harder than building the thing that will use it.
- Offline or multi-platform requirements. An app that has to work on gym Wi-Fi and reconcile cleanly later is a genuinely different build from one that assumes a stable connection.
Why fixed pricing works, for us and for you
We quote a fixed price in writing within 48 hours of a free 30-minute scope call, and we hold it even when we misjudge the effort. That’s a deliberate bet: if the estimate is wrong, that’s our problem, not an invoice you didn’t see coming. It also forces us to actually scope the work before quoting it, which is a better incentive than billing by the hour.
You also get a weekly demo of working software from week one, on a staging link you can click, and you can stop at any week and pay only for what shipped. Nothing delivered up to that point disappears. That’s a stronger guarantee than most fixed-price contracts offer, and it’s the reason we can hold a number without padding it defensively.
Where teams overspend
The most common way we see companies overspend isn’t a padded quote. It’s scope creep after the quote is signed, usually because “just one more field” or “can it also do X” gets added without anyone re-pricing it. The fix isn’t more contract language, it’s weekly demos: when you can see and click the actual software every Friday, scope changes get raised and priced in real time instead of discovered at the end.
The second most common way is paying to build AI where a scheduled job or a rules engine would do the same job for a fraction of the cost and none of the ongoing model spend. We’d rather tell you that on the scope call than build you the more expensive version.
If you want the real number for your project instead of a range, see the web application development or AI development pages for what each typically involves, then get an estimate: a free scope call and a written quote within 48 hours.