App maintenance cost per year for a small production app runs from about $7,000 for something stable and quiet to about $53,000 for a product customers rely on every day. Almost all of that is engineer hours. Hosting is usually under $500 a year at that size. The percentage rule you've probably read ("budget 15-20% of the build cost") is a guess with no published study behind it, so I'd build the number from the bottom up instead.
Key Takeaways
- Maintenance has four parts: hosting, dependency and security updates, bug fixes, and small changes users ask for.
- Hours dominate. A typical small app needs about 40 engineer hours a month; a quiet one needs 10.
- The "15-20% of build cost per year" rule is widely repeated, but I couldn't find a single study that supports it.
- The research that does exist says most maintenance work is enhancement, not bug fixing.
The Four Lines of a Maintenance Budget
Hosting. For a small web app, official price sheets make this easy. Vercel Pro is $20 a month. An AWS RDS Postgres db.t4g.micro lists at $0.016 an hour, about $11.68 a month by my arithmetic, before storage and backups. On Heroku, a Basic dyno is $7 and the Essential-0 Postgres plan is $5. Either way you're looking at $144 to roughly $380 a year until traffic grows.
Dependencies and security. Every framework and runtime has an end-of-life date. Node 20, for example, reached end of life on April 30, 2026; our post on Node 20 end of life shows what that upgrade involves. Skip this line and you pay for it later, all at once.
Bug fixes. Users find things testers didn't. Browsers and phones update. A payment provider changes an API.
Small changes. A new report, a field on a form, an email that goes out at a different time. This is the line founders forget to call maintenance, and it's usually the biggest.
App Maintenance Cost per Year, Built From the Bottom Up
The rate is an assumption: a blended $55 per hour for a senior nearshore engineer. That's my number for the arithmetic, not a quote.
| Tier | Who it fits | Hours per month | Hours per year | Engineering at $55/h | Plus hosting |
|---|---|---|---|---|---|
| Light | Stable internal tool, few users | 10 | 120 | $6,600 | about $380 |
| Typical | Customer-facing app, steady use | 40 | 480 | $26,400 | about $380 |
| Active | Product customers depend on daily | 80 (half an engineer) | 960 | $52,800 | more as you scale |
For the typical tier, I split the 40 hours as 8 for dependencies and security, 12 for bugs, and 20 for small changes. Your split will differ. The point is to name each line so nobody is surprised when the "maintenance" invoice includes a new feature.
Where the Percentage Rule Comes From
Search for app maintenance cost and you'll find the same claim on dozens of agency sites: spend 15 to 20 percent of the original build cost every year. Several credit Gartner or Forrester. None of the ones I checked linked to an actual report with that finding.
My best guess is that it's borrowed from enterprise software license support fees, which vendors charge as an annual percentage of the license price. That's a vendor's fee for supporting its own product. It says nothing about what your custom app needs.
The older academic numbers are real but measure something else. A compilation of maintenance studies from 1979 to 2000 puts maintenance at anywhere from 50% to over 90% of total software cost, depending on whether the study measured staff time, budget share, or lifecycle cost. Most of those studies looked at large enterprise systems, so I wouldn't apply them to a startup's app either. One finding from that list I do find useful: in Lientz and Swanson's 1981 survey, about 65% of maintenance work was perfective, meaning enhancements rather than fixes. That matches what I see. Most "maintenance" is your users asking for more.
A Concrete Version
A regional HVAC company paid $80,000 for a field-service app: technician scheduling, job notes with photos, and invoices. About 30 technicians use it daily.
The percentage rule would say $12,000 to $16,000 a year. Here's what the bottom-up math says instead.
Hosting: Vercel Pro at $20 a month plus a small Postgres instance at about $11.68 a month is $31.68 a month, so about $380 a year. Add photo storage and backups and call it $600.
Engineering: this is the typical tier. Forty hours a month, 480 hours a year, $26,400 at $55 an hour. In the first year that covered a Node runtime upgrade, an iOS camera bug after a phone OS update, two new invoice fields the accountant wanted, and a dispatcher view nobody thought of during the build.
Year-one maintenance: $26,400 + $600 = $27,000. That's about a third of the build cost, roughly double what the rule predicted. The app was fine. The business kept changing, and a percentage of the build cost has no line for that.
The Honest Counterpoint
Some apps really can coast. An internal tool with ten users and no payments might go a year with nothing but a dependency update or two, and the light tier is honestly generous for it.
The opposite risk is paying for hours you don't use. If you sign a monthly retainer for 40 hours and only need 10, you're overpaying. Ask for a smaller block and a clear way to add hours when you need them; our post on software development retainers covers the common structures.
And if your app was built quickly with AI tools or by a developer who's gone, the first year may cost more than any tier above, because someone has to learn the code before they can safely change it. How to take over an abandoned codebase is the place to start in that case.
Frequently Asked Questions
What is the app maintenance cost per month?
For a typical small customer-facing app, about 40 engineer hours plus around $30 of hosting. At my assumed $55 an hour that's about $2,200 a month, though your rate and hours may differ.
Is 20% of the build cost per year a good app maintenance budget?
It's a rule of thumb with no study behind it. Build the budget from expected hours instead, then compare. In the example above, the real number was about a third of the build cost.
Can I skip app maintenance for a year?
You can, but dependency and security updates pile up, and an end-of-life runtime eventually forces a larger, more expensive upgrade. What happens after your app is built explains the risks.
The Bottom Line
Budget maintenance in hours, name the four lines, and ignore the percentage rule. If you need a senior engineer to keep your app healthy, how to hire a developer to maintain an existing app covers what to look for, or request a shortlist and Ruzora will show you vetted LATAM engineers within 72 hours.
Roberto Espinoza is CEO of Ruzora, which helps US startups hire pre-vetted senior LATAM engineers, with a vetted shortlist in 72 hours. See available engineers.
