What an app really costs to build, line by line

A freelance iOS developer walks through an app budget line by line, from discovery and design to backend, testing, launch and the yearly cost of upkeep.

What an app really costs to build, line by line

Most people who ask me what an app costs have already been given a number somewhere, and it's usually either suspiciously low or frighteningly high. Both can be honest. The difference almost always sits in lines of the budget that one quote included and the other left out, or never wrote down at all.

So instead of a number, here is how I build a quote, line by line, for a typical small-company app. I'm a freelance iOS developer in Ghent, and I team up with a designer and an Android developer when a project needs them, so I see these lines from the inside. The hours below are an illustration for one example app. They are not market statistics, not an average and not a promise. Your app will have its own numbers; the point is to show which lines exist and what moves them.

The example app

Picture a booking app for a business with three physiotherapy practices. Patients sign in, see free slots for their therapist, book or cancel, and get a reminder the day before. Staff use a simple web admin to manage schedules. There are no payments in the app, no chat and no video. It runs on iOS and Android.

That's a modest app. It's also a very common shape: accounts, a calendar, notifications, an admin panel. Most of the small-company projects I quote look something like it, with one or two features swapped.

The breakdown

Line What it covers Illustrative hours
Discovery Workshops, user flows, feature list, technical choices, written scope 24-56
UX and UI design Wireframes, visual design for about 20 screens, prototype, handoff 70-150
iOS app, native Screens, navigation, sign-in, booking flow, push, offline states 220-380
Android app, native The same feature set, built separately 220-380
Or one cross-platform app Both platforms from one codebase, plus platform fixes 300-520
Backend and admin API, database, authentication, reminder jobs, web admin 140-300
QA and device testing Test plan, real devices, regression rounds, accessibility pass 70-170
Project management Planning, calls, demos, written updates, decision log 60-140
Launch Store accounts, listings, screenshots, privacy details, review rounds 16-40
Maintenance, per year OS and dependency updates, small fixes, monitoring 80-200

Again: these are illustrations for this one example, the way I would sketch them before a proper discovery phase. Add up the build lines with one cross-platform app and the example lands between roughly 680 and 1,380 hours. With two native apps it's roughly 820 to 1,620. Multiply by whatever the team you talk to charges and you have a first budget. If you want to see how the hours move when you add or drop features, the app development cost calculator works the same way: you pick features, it adds hours.

Line by line

Discovery

Discovery is the line clients most want to cut and the one I most refuse to drop. It's where "users can book an appointment" turns into decisions. Can they book for a family member? What happens when a therapist calls in sick? Does a late cancellation cost anything? Every answer changes hours further down. A quote without discovery is built on guesses, and the guesses get paid for later, usually at a worse moment.

Design

Twenty screens sounds like a lot until you count empty states, error states, loading states, the sign-in flow, settings and the screens nobody thinks of, such as "your session expired". Design hours also depend on whether the client has a brand to work from. A company with colors, a typeface and a usable logo saves the designer days.

The app itself: native or cross-platform

This is the biggest line, and the choice between two native apps and one cross-platform app moves it more than anything else. Cross-platform usually costs less than two separate apps, but not half: you still test on both platforms, fix platform-specific bugs and deal with each store's rules. Which way to go depends on your team, your interface and your plans, and this guide to choosing a cross-platform framework covers the questions better than I can in a paragraph.

What inflates this line in practice is rarely the main flow. It's the edge cases: a poor network, the user who denies notification permission, time zones, dates in different languages, and the autumn an iOS update changes how something behaves.

Backend and admin

Many first-time clients forget the backend exists. The app needs somewhere to store bookings, a way to sign people in and a job that sends the reminder at the right hour. The staff need a screen to manage all of it. A hosted backend service can shrink this line considerably, at the price of monthly fees and some lock-in. A custom backend costs more hours up front and gives you more control. Neither is wrong, but the quote should say which one it assumes.

QA and device testing

Testing on real phones, not only simulators, is a line I never drop. Older devices, small screens, large text settings and a VoiceOver pass find real bugs every time. If you want a sense of what an accessibility pass involves, this working accessibility checklist is close to what I run before a release.

Project management

Calls, demos, written updates and the decision log. Some freelancers fold this into their other hours; agencies usually show it as its own line with a project manager attached. Either is fine, as long as it's somewhere. In my own quotes it tends to come to about a tenth of the total.

Launch

Launch has fixed fees and a timeline. At the time of writing, the Apple Developer Program costs 99 USD per membership year, and a Google Play developer account has a one-time registration fee of 25 USD. Apple asks organizations for a D-U-N-S number when they enroll, and getting one can take days, so start early. Google Play adds a delay for new personal accounts: those created after November 13, 2023 must run a closed test with at least 12 testers who stay opted in for 14 days in a row before the account can apply for production access. That's one more reason to register a company app under an organization account.

I always set the store accounts up in the client's name, not mine. Then come the listing texts, the screenshots, Apple's App Privacy details and Google Play's Data safety section, and at least one round of review feedback to answer.

Maintenance

An app is never finished the way a brochure is. Apple ships a major iOS version every year, usually in September. Google Play raises its target API level requirement every year. The libraries you depend on move on whether you do or not. The maintenance line covers keeping the app building, compatible and accepted by both stores, plus small fixes. Without it, an app that worked at launch can be blocked on its next update, or quietly break for people on new phones. I tell clients to budget it from day one, every year, for as long as the app is live.

Running costs, which aren't hours

One line never appears in the hours table because nobody works it: the monthly bills. Hosting for the backend, the database, a service that sends the reminder emails, crash reporting, perhaps a hosted sign-in service with a plan that grows with your users. In my experience, for an app the size of the example they are small next to the build, but they never stop, and they rise as the app succeeds. Ask for them as a separate list, with who pays each one and whose account it sits in.

Why quotes for the same app differ so much

Region comes first. Rates follow local salaries, taxes, social contributions and office costs, so a team in Western Europe and a team in a country with lower living costs will quote different totals for the same hours. That gap doesn't say anything about quality by itself. A distant team can be excellent; it may also mean more written specification, less overlap in working hours and more of your own time spent checking.

Team type comes second. A freelancer has little overhead but limited capacity: if I get sick, the project pauses. A small studio covers design, development and testing under one roof. A larger agency adds account managers, a formal QA team and more process, which costs money and also buys predictability. The guide to choosing an app agency or studio goes through these partner types in more detail.

Then the pricing model. A fixed-price quote includes a risk margin, because the team carries the cost of anything that takes longer than planned. Time and materials looks cheaper on paper and moves that risk to you. And finally, assumptions: one quote includes design and a backend, another expects you to provide both. Read the exclusions before you compare the totals.

Five questions to ask about any quote

  1. Which of the lines above are included, and which are excluded?
  2. What does the quote assume about the backend: a hosted service or a custom one?
  3. How many review rounds are included for the design and for the finished app?
  4. Who owns the source code, the design files and the store accounts at the end?
  5. What does a year of maintenance cost, and what exactly does it cover?

If a team answers all five clearly and in writing, you can compare its number with anyone else's. If it can't, the number doesn't mean much yet, however attractive it looks. Start with discovery, pay for it separately if you have to, and get everything after it quoted from a written scope.