How much does a web or mobile application costs in 2021?
Tags: programming, mobile, webdev, devops
Published: 2021-01-20 09:37:45

The million-dollar question asked by most project owners is: How much does it cost to develop this app? Our answer is: Between 15k USD to 500k USD. You want a car, but we need to know if you want a Ferrari or a Toyota. Putting a price tag on any project can become complicated and is often misunderstood. 

In this article we will try to provide an overview and understanding on how much such may costs, what are the key factors influencing the price, and how to select the right partners for the job.

Surely, spending a fortune might not guarantee you success, but trying to save money either. You have to find the right balance in order to select a team that you can trust and that will guide you through this journey.

# App Development - checklist

Here is a typical list of things you need to take into consideration in order to put a price range on any app. This is what your development team (internal or external) will have to cover:
- System architecture and associated scalability
- Database creation and schema.
- Target Medium compatibility & responsiveness (mobile and / or web).
- Target OS compatibility (Android, iOS for mobile).
- Complexity of the logic to implement.
- User experience and design (UX / UI).
- Technology stack to be used.
- Project management.
- Cyber security.
- Data Privacy compliance.
- Quality assurance.
- Development operation to automate the deployment.
- Automatic testing to automate the testing of all the features before deployment.
- Third party API integrations.

These are the minimum elements to be addressed. Some additional modules may be added depending on the platform you are trying to build:
- IoT module (gateway registration & management, data flow from gateway to cloud, data quality & connectivity, data storage, ...)
- Machine Learning for data classification, recommendation system or forecast.
- Hardware / Middleware integration and security 

Realistically to cover the minimum mentioned above an app could take from 250 man hours (for a very simple one) to 10,000 man hours and above (for the most sophisticated and complex ones). Price range can therefore range from a mere 15,000 USD to 600,000+ USD.


# Development price / hours / region

Before going any further, let's have a look at the average Developers' salary across a few selected countries / sub-continent.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/b8podgneofntklgumny7.png)
https://www.businessofapps.com/app-developers/research/ios-android-developer-salary/

Price / hour can range from USD 30 to USD 150 and sometimes even more. Key factors for such price variation are obviously the seniority of the developer, the living costs per country / region and the size of the company you are dealing with. If you work with a large corporate, they will most likely have higher price than if you go with smaller agencies. Smaller agencies tend to be also more flexible and agile over time for you to adjust your platform and cover a better market fit.

Price per hours in USD per region.

| Region         | Min  | Max |
| :------------  | :--: | :-: |
| North America  | 120  | 180 |
| Australia      | 80   | 150 |
| Europe         | 80   | 150 |
| Singapore      | 60   | 150 |

App development is commonly carried out using one of the 4 following methods, for which you consider the pros and cons.
- Independent Freelancer: It might be the most affordable solution, however you will have to manage him/her yourself on a regular basis. If you have limited knowledge of the development process, you will have to rely on his/her judgement. Often those relationships are based on trust. One of the risk is the "One man show" effect. The understanding and development of the system is done by one person. If this person leaves you, all knowledge is lost for your company. You are also limiting your knowledge access range. You leverage on one developer's skills rather than a pool of individual with different expertise.
- Development Company: Often the most cost effective way. They have affordable price, and are agile in their process by not having to go through many management layers to validate a feature or change an order. You will also be able to leverage on the skills of a few engineers (security, dev ops, system infrastructure, technology stack, mobile dev specialist, web dev specialist). Once the scope of the contract is defined, each module is done by the best person up to the task. Knowledge is dispatched across a multitude of individuals, reducing the "One man show" risk. It is also the company's best interest to build a long term and strong relationship with you, so they can scale up as you need.
- Large corporation: Often highly priced. You pay for their reputation, and management layers. Process might be quite tedious, having many stakeholders in the process. They are less subject to accept your changes of orders. Their main advantage might be speed as they are able to pull dozens of developers into 1 project whenever they have too. Having said that 9 women cannot make a baby in 1 month. Lining up 10 times more developers does not necessarily mean your project will be delivered 10 times faster. The more IT engineers working on a project, the higher the overhead is for the code merging and the project management.
- In house team: Some companies hire dedicated in-house team. That implies additional cost for your business, recruitment, management, HR overhead, Bonus, medical insurance, medical leaves, holidays, office space, equipment, up skilling of your employees, etc... In Addition you may have to hire various experts to cover the whole aspects of your project. Once the project is delivered, you end up with a large teams of IT engineers that could become redundant. 


# Project Specification Phase

For the development team to work efficiently, it is crucial to write proper functional & non functional specifications. Various methods and methodologies can be applied such as:
- UML
- User stories
- Story board
- Design thinking

The more detailed your specifications are, the more accurate the price estimation will be. Leave no stone unturned. Do not hesitate to share as many information as possible such as your business model as it might imply additional development required to integrate the monetization component. Your provider might even share some expertise with you which could help you fine tune it.

If you do not have a proper specification document, you should consider contracting your provider to write it for you. From our experienced, this is money well spent. You are most likely to get the solution you want if specifications are clear. Lack of clarity in project definition is one of the top 3 reason for project failure.



# Features and Functionalities

Let's now have a look at the basic features and functionalities. These are the minimum you will need to develop a basic web or mobile application.

For the sake of simplification, we have merged together the cost of the Web Server / Web App or Mobile App into 1 table. They are normally estimated separately. The dev unit price has been set at USD 60/hour on the table below.

Acronyms:
CRUD: Create Review Update Delete
PSP: Payment service provider
UAT: User Acceptance Test
RBAC: Role Based Access Control. Limit access to functionalities based on the user type (ex: Seller vs Buyer)

| Feature         | Min Time (hours)  | Max Time (hours) | Cost (USD)
| :------------  | :--: | :-: | :-: |
| Create the Dev & Live environment with various domain name setup and SSL certificate setup  | 4  | 16 | 240 - 960
| Development operation setup (Docker / Git / repositories...)  | 4  | 16 | 240 - 960
| API development for the mobile app to access the data | 40   | 80 | 2400 - 4800
| Login stack (login - sign up - reset password - forgot password      | 4   | 16 | 240 - 960
| User Management (CRUD User)      | 8   | 24 | 480 - 1440
| Payment Integration (Stripe or other PSP      | 16   | 32 | 960 - 1920
| Emailer Integration with about 10 user flow emails | 24  | 32 | 1440 - 1920
| Notification System | 24  | 32 | 1440 - 1920
| Basic functionality to exchange messages | 20  | 40 | 1200 - 2400
| Multi Language | 16  | 32 | 960 - 1920
| Cron Jobs (background tasks such as reminders) | 16  | 32 | 960 - 1920
| System Security (architecture) | 16  | 32 | 960 - 1920
| RBAC | 16  | 32 | 960 - 1920
| Data Privacy Policies / encryption | 24  | 48 | 1440 - 2880
| Final Design Integration | 24  | 48 | 1440 - 2880
| Testing and UAT | 16  | 32 | 960 - 1920
| Final Deployment | 4  | 8 | 240 - 480
| TOTAL | 280  | 560 | 16,800 - 33,600


As per the example above, the price range can go from 17,000 USD to 34,000 USD for a very basic mobile application to exchange messages between users. 

# How much did famous apps costs ?

Now let's take a quick look at the estimated numbers of hours required to build the first version of some famous app that we all use, and then estimate their costs.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/31zmms247gt9dh1rb3oi.png)

Price: 60 USD / hour

| App         | Hours  | Price |
| :------------  | :--: | :-: |
| Tinder  | 1500  | 90,000 |
| Netflix  | 800  | 48,000 |
| Asos      | 1,200   | 72,000 |

As you can see, a Tinder like app that did not use to have a lot of functionalities could easily cost 90k USD. On top of the front-end features, you also have to think about the data processing, matching system, recommendation engine and data storage which could increase your development price.

# Great ! My App is live. What now?

Once your app is released, let's discuss support. It is always highly recommended to go with a maintenance contract. It can be pre-paid hours, pay per use or fully dedicated resources that you can use to maintain and upgrade your system. As your user base grows, issues might arise, server monitoring and patches installation will become necessary. Your system is a living one. It will behave and react when users are using it so it is a good idea to have a team ready to act when things are happening.

The industry standard is to spend about 10-15% of your development budget in maintenance per annum. Additional funding might be allocated if you need to add features.

But do not over-engineer it. Better to release an MVP (Minimum Viable Product) and develop it further through iterations rather than building something over overly complex from the start. Too many functionalities create confusion for a newly launched product or service. Be ready to A/B test your features and learn from your customers feedbacks.


---

# About Us

Pixium Digital Pte Ltd is an agile software development company with their headquarters located in Singapore. We focus on shaping our clients project from ideas to successful project launch.