Three shops quote the same project. One says $22,000. One says $90,000. The third says $310,000 and wants a paid discovery phase before it will commit to even that. Nobody is lying, and that spread is the most confusing thing about custom software development cost.
The spread exists because “the same project” is a fiction. Each shop filled the gaps with its own assumptions and priced what it imagined. The cheap quote is a form with a database behind it. The expensive one includes roles, permissions, an audit trail, two integrations, and a person who answers the phone in year three.
Below are the ranges these projects tend to fall into, then the four things that move the number: scope, discovery, contract structure, and the operating cost that lands after launch.
What Custom Software Development Cost Actually Looks Like
Most pricing pages give you a range with no shape attached. Here is how quotes from competent US teams tend to cluster, assuming senior people rather than a junior staffed against a rate card. Treat it as orientation, not a price list.
- $8,000 to $25,000: a single-purpose internal tool. One user type, one workflow, no outside integrations. A quoting calculator, an inspection form that replaces paper, a client status page.
- $25,000 to $75,000: a real application. Two or three user roles, logins, an admin area, notifications, and one integration into a system you already run. A client portal usually lands here.
- $75,000 to $200,000: a platform. Payments, documents, reporting, several integrations, and enough business logic that the rules must be written down before anyone writes code.
- $200,000 and up: systems where an hour of downtime costs real money, or where compliance, multi-tenancy, or a native mobile app is part of the build.
Hourly rates behind those figures tend to run about $110 to $200 for a US shop, $75 to $130 for a smaller regional team, and $25 to $60 offshore. Rate is the least interesting variable. A $50 hour that takes three attempts costs more than a $160 hour that takes one. Our custom software engineering work covers portals, ordering platforms, internal tools, and APIs across all four tiers.
Why Quotes for the Same Project Vary So Wildly
Nearly all the variance in these quotes comes from three places: what each shop assumed you meant, who they plan to staff, and how many systems the build has to talk to. None of it is visible in the total.
Every Shop Is Pricing a Different Scope
In a 30-minute call you transmit a fraction of the real requirements. The rest gets assumed. One shop assumes you will handle content, data cleanup, and testing. Another has been burned before and budgets real hours for migration alone.
Ask every bidder for a written list of what they excluded. The exclusions explain the price gap faster than the inclusions ever will. A quote with no exclusions section is not a quote, it is an opening bid.
Team Shape Changes the Math
Ninety thousand dollars buys a four-person team: a designer, two engineers, and someone who owns the requirements. It also buys one contractor working alone for most of a year. The first ships something your staff will use. The second ships something only its author understands.
Integrations are the other quiet multiplier. A build that has to talk to QuickBooks, a shipping carrier, and your ERP is not one project, it is four. We price system integration work separately for that reason: one flaky third-party API can eat more hours than the application around it.
Unclear Scope Is the Most Expensive Line Item
Unclear scope never appears as a line item, which is why it wins. It shows up as rework, as change orders, as the fourth revision of one screen because nobody agreed on what “approved” means inside your process.
The failure mode is predictable. The first weeks go well, because the obvious screens get built first. Then accounting asks what happens when an order is partially refunded after the invoice posts, and the answer means reworking the data model underneath everything already built.
So write down the exceptions before anyone codes. Not the happy path, everyone gets that right. Write down what happens when a customer cancels late, when two people edit the same record, when the integration is down six hours. Those answers are the actual product.
Discovery: Paying to Find Out What You Are Building
A common rule of thumb puts discovery at 5 to 12 percent of the expected build, so $5,000 to $12,000 on a $100,000 project, usually across two to four weeks. Buyers resist it because it feels like paying for a proposal. It is paying to make the proposal accurate. Real discovery produces:
- A clickable prototype of the main screens, so disagreements surface before code exists
- A written data model: every record type, every field, every relationship
- An integration inventory with the real API limits and authentication method of each system
- A ranked feature list split into launch, phase two, and probably never
- A build estimate with a stated tolerance, so you know how firm the number is
A shop that quotes a six-figure build off one call is either padding to cover its own uncertainty or about to discover the hard parts on your budget. Both cost you. The padded quote charges up front, the optimistic one charges in month five.
Discovery also buys a cheap exit. Some projects should not be built, and learning that at discovery prices instead of build prices is the best outcome available.
Fixed Price vs Time and Materials
Two contract structures cover nearly all custom software pricing, and both are honest. They fail in different directions, and the right one depends on how well defined the work is the day you sign.
When Fixed Price Is Right
Fixed price works when discovery is finished and the specification is detailed enough to argue with. You get a number and a date, and the shop carries the estimation risk. Expect a contingency baked into that number, because carrying risk is not free.
The tradeoff is rigidity. Every change becomes a change order, which slows delivery and turns collaboration into contract reading. Fixed price also quietly rewards the shop for building the cheapest thing that passes acceptance.
When Time and Materials Is Right
Time and materials fits work where requirements will genuinely move, which describes a lot of AI feature work and most internal tools built alongside a process that is still changing. You pay for what you use and can redirect the team weekly.
Cap it anyway. Agree on a not-to-exceed figure per phase and review burn every two weeks against a written list of what shipped. Uncapped time and materials with a vendor you do not know yet is how budgets run away.
The Operating Cost Nobody Puts in the Quote
Most conversations about custom software development cost stop at launch, and that is the expensive mistake. Custom software is not a purchase, it is a hire. A common rule of thumb is 15 to 20 percent of the build cost per year to keep it healthy, more in year one when real usage exposes what you guessed wrong.
- Hosting, backups, and monitoring, from tens of dollars a month to several hundred depending on load
- Dependency and framework updates: a few days of engineering per quarter, not optional if you care about security
- Integration breakage when a vendor changes its API, on their schedule and never on yours
- User support and small changes: the reports and fields nobody asked for until they used the thing daily
- AI features specifically: token and inference costs that scale with usage instead of sitting flat like a license, so budget for them on day one
The alternative is a familiar pattern: a system built four years ago by someone who has moved on, running an unsupported framework, that nobody will touch. Planned maintenance and support costs less than reaching the point where a rebuild is the only option left.
Want a Number You Can Actually Plan Around?
The honest answer to what custom software costs: a usable estimate requires a real conversation about your process, your data, and the systems the build must touch. Anyone handing you a firm number in ten minutes is guessing, and you pay for that guess later.
Parameter is an engineering practice in Miami. We scope custom software projects in the open: what it costs to build, what it costs to run, and where to spend less. If three configuration changes in software you already own beat a new build, we will say so. Tell us what you are trying to fix and you will get a range with the reasoning attached.
Want WordPress to feel handled?
Self-serve onboarding takes minutes. Parameter takes care of the rest — hosting, ops, and improvements when you need them.