The answer that everyone is going to tell you is that it is complicated, and that is true. No one will be able to tell you the exact cost of building an app down to the dollar. The best you will be able to get is an estimate by a professional in the industry that has had years of experience with not just building the apps but also estimating their cost. Estimating cost is itself a valuable skill that not all developers will need to learn. It can be difficult and time consuming to figure out exactly what the client is expecting and more clearly define their expectations. The is usually the first step in app development: clearly defining the project scope, estimating project cost, and researching project viability. Based on a study from Clutch.co about half of the firms they surveyed say the discovery stage costs over $5000 dollars.
Based on my own experience the cost of the entire project can vary greatly from $5000 to $5,000,000. The project cost really depends on the complexity of the project, where the company you hire is located, how established the company is, and many more factors. But, that is expensive so it might be worth spending the time to learn how to build it yourself.
It is not a bad idea if you have got the time to do it and your goals for the project are not too lofty. I would say if all you want to do is build a calculator app or a simple messaging app you could probably do it in a few months. But, you should expect to go through some growing pains just to learn how to build a simple app. The fact of the matter is that writing software is hard and even people that have been in in the industry for 20 years still bang their heads against a wall because they can not figure out what the problem is.
That being said, it may make sense to hire an agency to do the work for you. An experienced agency will have gone through the process multiple times. An experienced agency will take far less time and will write far better code than a first time programmer. The code they write will also be more maintainable so that other developers can more easily make changes which can save on future costs.
A good agency will be able to help you avoid the pitfalls or tell you if the idea simply wont be worth pursuing. After all, not all apps will be profitable enough to bring a return on the investment.
Based off of 10 top rated profiles and reviews from Clutch.co, a website for reviewing app development companies, we compiled a table with the following average project costs. We also included the standard deviation of project cost so that you can get an idea for the range.
|Company Name||Hourly Rate||Avg Project Cost||Standard Deviation||Min. Project Size|
|Appinventiv||$25 - $49||$276k||$285k||$10k|
|Blue Label Labs||$100 - $149||$147k||$211k||$50k|
|Cubix||$25 - $49||$65k||$49k||$25k|
|Five||$100 - $149||$326k||$467k||$10k|
|Hedgehog Lab||$150 - $199||$224k||$235k||$50k|
|Hyperlink InfoSystem||< $25||$212k||$455k||$10k|
|TechAhead||$25 - $49||$175k||$237k||$25k|
|Utility||$100 - $149||$329k||$254k||$50k|
|WillowTree||$150 - $199||$800k||$130K||$250k|
|Zco||$25 - $49||$175k||$211k||$10k|
Clearly illustrated here is that the average cost to build an app is pretty high. If you are looking to build a quality app you should expect to spend between $100,000 and $200,000. An example of an app roughly in that range would be AirBnB. Of course, the actual AirBnB app has had millions poured into it to continually improve upon the original design, but to build a quality AirBnB clone from scratch would cost between $100k and $200k. To build an a clone of an app like Facebook would likely cost well over a million dollars. This is assuming that you build it with all the major features that it has today.
The above list wasn't intended to be a full feature list, but more of an illustration that all the features and screens that an app contains can easily extend past your original estimate. This is why the majority of companies require a discovery stage to build an app with them. The discover stage helps clarify the project details so that there is little confusion later down the road when the client expected X feature to be completed, and the developers did not plan for that.
This discovery stage is important because predicting price isn't a simple matter of counting the number of pages that the app has or adding price tags to the features that will be added.
The cost of a feature heavily depends on the context. For example, a company might estimate that a messaging system will cost $5k to implement. But, if you look at Facebooks messenger it would cost far more than $5k to implement. A quick guess would lead me to believe that Facebook messenger would cost at least $50k to build. This clearly illustrates that it is not just the large features that adds to the cost, but the little details. Details like whether or not your messenger app needs emojis or video calling make a big difference to the total cost are sometimes forgotten. Even the amount of emojis and how they are implemented adds up.
This illustrates a clear picture when building an app and in software development in general: you get what you pay for. This is also illustrated in the table above. Hyperlink InfoSystem has the lowest hourly rate, and yet their average project cost is still about $200k.
To get an idea for whether or not it is worth going with a cheaper company outside of the United States I calculated the average project cost of about 10 companies all with the same minimum project cost to keep the data from being skewed. I then graphed the average project cost in thousands vs the average hourly rate.
You would expect to see a correlation between a high hourly rate and a more expensive project, but this seems to indicate otherwise. There is a small trend toward a more expensive project, but it is nowhere near proportional to the increase in the hourly rate.
Hiring a company in India may be worth the risk. There is a chance that you will save a few thousand bucks but there is a much higher chance that the project will end in disaster. I have heard many stories of people hiring companies overseas and after the client paid them they never heard from the company again. Of course, this is not always the case and if you find a good company to work with overseas it may end up being worth it.
Another problem that many people run into when working with people overseas is a language barrier. It is difficult to communicate with people over Skype especially when they do not speak the same language. It can even be hard to communicate with software developers that speak the same language. It is not always easy communicating the technical challenges being faced.
Developers overseas also have different design trends that they follow. A developer in India has a much different sense of what a good design looks like than a developer in America that is ingrained in western culture.
Once you have decided what type of company to go you will run into one of two types of budgets:
Typically it is better to work with a app company on a hourly rate for a few reasons. First, you will get a more accurate estimate. Second, with a fixed bid contract there is a good chance that it wont be completed or it wont meet the original specifications. Here is a review from Clutch.co on the Zco corporation:
What were the results of the project?
It [website] didn’t perform at any level. It didn’t do any of the things it was supposed to do on any devices. Just nothing. The editing buttons don’t work. You enter information and it doesn’t appear. It changed when you go to different defaults when you close out. Things are missing.
Can you elaborate further about the gaps?
It seems they built everything custom and had difficulty integrating common plugins. We said, “Look, aren’t there any of the shelf solutions for this?” Their comeback was always, “No, that would be too expensive for what we’ve written. For example, they were going to do a photo uploader and we asked “Can’t you just use this photo uploader that’s already been built and just incorporate it in.” He responded, “No, it won’t work in our code.” “Well, can’t you use these different types of editing tools?” “No, they won’t work.” But, these components have already been invented and they should just lock into place. That’s what our new developer is doing.
So when you look back on the project, what are the key things that you feel that went wrong on the project?
I think the project manager on Zco’s side basically just left us in the dark. They didn’t have a plan. They were winging it and we weren’t experts, so we relied on them for guidance. They let the project just wander. The first draft of the project was a social media site. We clearly indicated to them we did not want a social media site. It took months for them to shake off the social media thing. We explained, “This is a tool, this is not a site to gather and chit chat. This is a tool for the working actor and professional to get jobs.”
Can you discuss performance to schedule?
It was supposed to be released in September [of 2013], and they got it on their servers in September, and it started to disintegrate. We had nothing but problems, and it was two months plus with the problems. Every time they would fix one thing, another thing would go wrong, and then they came back and started asking for more money. By that time, we had the code analyzed [by a third party] and realized it wasn’t going to work. There was no reason to continue because we couldn’t use anything they created either in the present or in the future.
Can you elaborate on the third-party testing?
Yes. We brought in a third party whose principal work is in writing code for bank security. He took us on as a secondary project. He looked at the code and it appeared to him that there was no way that it could be auto tested. It simply wasn’t built for auto testing. When my project manager and I saw the September launch, we were finding all these obvious problems: Misspellings, things not working, and so on. We were thinking to ourselves “has this thing been tested?” It didn’t appear that it ever had been.
Estimating project cost is something that has to be done by a professional with experience in the industry. They need to have experience with both developing software and estimating project cost because both are skills to be learned. You can go with app cost calculators, but they're very likely to underestimate the final cost of the project because of all the assumptions that they make. The only way to get an accurate estimate is to talk to an experienced agency.