How to Calculate the Cost of a Mobile App

Hello everyone. Because mobile app prices and cost calculations change constantly and are asked about so often, I felt the need to write about them again.
In an earlier article (you can reach it here) I explained the logic behind this work. I recommend reading that one as well.
A long time has passed since that article. As you know, with the rise in exchange rates and the depreciation of the Turkish lira, mobile app development person-day rates have increased significantly.
In this article I will go over again what you need to have a mobile app built, how much it costs and what the prices are.
First of all, you can think of this article, which I wrote for a single platform, as applying to both iOS and Android. The reason is that the workload on both platforms is more or less the same. If you are developing a mobile app on a single platform such as Flutter or React Native, then you can count the cost once.
In short: if Android and iOS are separate, think x2; if it is Flutter or React Native, think x1.
To calculate the price of a mobile app, you first need to break the work into parts.
The example costs below are calculated for a normal-sized mobile app project that takes about one month.
Before we start, let me say this. You may have a budget of 5,000 TL. With that budget you can find a team or a person to do the work. But every level of quality and every person who works has a person-day cost, and a product that is not planned and not paid fairly will turn out badly, or you will not get support for the bugs that appear afterwards, or the code may be poor and sloppy. I consider it my duty to warn about this. I have seen these situations many times. "We had someone do a job, but they left; could you help us?" When you look at the code, you are shocked at how broken it is. It is as if the person did not want to do it and only accepted the job because they needed the money. So remember: you get what you pay for.
The person-day prices below are the prices, at 2020 rates, for a mobile app project that takes one month and is done properly.
1 – Mobile App Design Prices
At the design stage, the cost varies with the size of the work, how many screens there will be and how professional it needs to look.
You can give the developer only mockups, that is, rough screen layouts, and ask them to build the UI from those using standard components. In that case you will not have a design cost, but the screens you get may not satisfy you visually. Here it really comes down to the developer's ability. They may produce something very good, or something adequate if the app is not heavily visual.
But if you want every screen, starting from the splash screen, to be designed, and you want the screens to be worked out with UI (user interface) and UX (user experience) in mind, so that you know what the final product will be and do not get any surprises, then you can calculate on the basis of design time and person-day cost.
Suppose there is a design effort that will take 10 days. If we calculate the cost on a person-day basis:
The person-day rate is around 400–800 and can vary. Let us take 600 here. 600 x 10 = 6,000 TL design cost.
2 – Mobile App Development Prices
Development prices are also worked out screen by screen, just like design. Here you estimate how many days each screen will take. Considering developer costs, a good developer who does the job properly charges person-day rates between 600 and 1,000 TL.
Let us calculate at 800 TL here.
800 x 20 working days = 16,000 TL. (If Android and iOS are written separately, think x2.)
Note: when Android and iOS are separate, the cost goes up a lot. Then why don't we always develop on a single platform like Flutter? I can almost hear that question coming. In that case, please read my recent articles about my Flutter experience. In short: yes, I find Flutter quite successful, but it does have some risks.
3 – Mobile App Backend / Admin Panel Development Prices
We should not forget this: in some cases a backend is unavoidable. Unless you are building a fully local app that runs only on the device, you will also need backend services and an admin panel.
If we say 20 days for all of this, the person-day rate for a backend developer is more or less the same.
The cost works out to 800 x 20 working days = 16,000 TL.
4 – Mobile App Launch and Support
After the mobile app development work is complete, the app is tested and released. Our job does not end at this stage. My general advice is to sign a contract with the developer or company you work with. Because after release, some bugs and gaps may still appear. However well the app is tested and handed over, you cannot test it the way all users will use it on different devices once it is in the store. Only the best testing can come close, but it is not the same. That is why your contract should definitely include at least 6 months of free maintenance and support. Depending on the work, this could be 3 months instead of 6, but 3 months is on the short side; my recommendation is a minimum of 6 months. Because the app may not reach a certain number of users in 3 months. That naturally depends on your promotion and advertising.
So what happens after that period? At that point, yearly maintenance fees of 10–20% of the total project budget come into play.
In our example:
For a project with separate Android/iOS and no backend, the cost is:
Design – 6,000 TL
Android – 16,000 TL
iOS – 16,000 TL
TOTAL COST: 38,000 TL
YEARLY MAINTENANCE AND SUPPORT (15%): 5,700 TL.
For a project with Android/iOS in one codebase (Flutter/React Native) and no backend, the cost is:
Design – 6,000 TL
Android/iOS – 16,000 TL
TOTAL COST: 22,000 TL
YEARLY MAINTENANCE AND SUPPORT (15%): 3,300 TL.
This maintenance and support should cover fixing bugs that appear later, updating new libraries and SDKs in the project, resolving problems caused by new devices and versions, and monitoring and reporting bug reports at regular intervals. Do not forget that an app is like a living organism. It needs continuous maintenance and support. One reason is that technology keeps changing and some libraries used earlier become obsolete. The app should be reopened on the platform it was developed for, the necessary updates and tests repeated, and an update sent to the store. Such updates can be done roughly every 4–6 months, or together with bug fixes when issues are identified.
Summary
The prices below can be paid in 6 or 12 instalments depending on your agreement with the team or person doing the work. Do not think of these prices as something to pay upfront. In fact, not paying upfront and paying as you see results is definitely better. With 12 instalments, it is possible to start the work by paying only 1/12 of the cost. Of course, if the person or team accepts these terms. If they do not, you are not obliged to work with them anyway. What matters is making a reasonable payment plan and moving forward step by step.
With a backend:
If Android/iOS are separate, our total cost for the first year is:
38,000 (Android/iOS/Design) + 16,000 (Backend) + the next 6 months of maintenance (8,100/2) 4,050 TL = 58,050 TL
In the following years, if you do not request additional features or changes, the support and maintenance cost will be 8,100 TL.
If Android/iOS are the same (Flutter/React Native), our total cost for the first year is:
22,000 (Android/iOS/Design) + 16,000 (Backend) + the next 6 months of maintenance (5,700/2) 2,850 TL = 40,850 TL
In the following years, if you do not request additional features or changes, the support and maintenance cost will be 5,700 TL.
Without a backend:
If Android/iOS are separate, our total cost for the first year is:
38,000 + the next 6 months of maintenance (5,700/2) 2,850 TL = 40,850 TL
In the following years, if you do not request additional features or changes, the support and maintenance cost will be 5,700 TL.
If Android/iOS are the same (Flutter/React Native), our total cost for the first year is:
22,000 + the next 6 months of maintenance (3,300/2) 1,650 TL = 23,650 TL
In the following years, if you do not request additional features or changes, the support and maintenance cost will be 3,300 TL.
As you can see, the work is a bit complicated. Does your app need a backend? Does it need professional design? Can it be written on a single platform like Flutter or React Native? The price is calculated according to many options like these. In this situation it is very important to consult an expert and move forward with them.
Finally: a technical consultant?
At the same time, choosing is not enough. The team or person building the software should be audited and quality-checked. If you do not want to throw your money away, you can get support from a consultant while the project is running on the following points. This is very important for quality and to make sure your money is not wasted.
The scope of consulting varies with the size of the project, but it generally looks like this:
1 – Checking and shaping the project concept and its compliance with Apple/Google policies,
2 – Designing the project if you do not have a design,
3 – Defining the work plan after design,
4 – Selecting the team that will do the work,
5 – Making sure the work (the code written) is proper,
6 – Backing up the code and all documents,
7 – Running a good testing process for quality control,
8 – Making stage-by-stage payments to the development team,
9 – In short, quality assurance and protecting that quality through the process and after delivery.
For these services, the consultant's main job is to agree on a monthly consulting fee that varies with the size of the project, ensure the software produces quality output, audit it against recurring bugs and work in coordination with the development team.
Whichever team or person you work with, you need project management and a project lead. If no team or person is supervised by someone who knows the work, they may not produce proper, quality work. To guarantee that, this consulting seems essential. Otherwise the output produced for your project, and the money spent, can go to waste.
I hope this has been a detailed and useful article. If you have a question, you can leave a comment here or contact me through the contact section.