By far the most common question we receive is how much does an app cost? Every single prospective customer we talk with asks this question. I would guess that we have heard this question over 1,000 times. And while some of our clients have a very good understanding of costs, we also see many people who are totally new to app development, and think that they can have an Uber clone built for $3,000 in 2 weeks (I kid you not, we actually get this sort of request).
Every app is different, and while it is impossible to say exactly how much your app is going to cost, our experience over the last few years has helped us flush out a few compass points to assist you in estimating what your costs will be. Clients with realistic expectations are much easier to work with, and end up happier with the results.
The 3 most important factors that dictate the cost of an app are its complexity, what operating system / devices you support, and what type of developer you hire. In this article, we will discuss each of these in detail, provide some suggestions on how to reduce costs, and explore what portion of your initial funding should be allocated to app development. Regardless of what type of app you are making, taking some time to consider these things will help you in the long run.
All apps and all clients are different, which makes predicting app cost a challenge. We have, however, identified several key items which always increase development costs. Being aware of them will help you better prepare yourself for the associated costs, and allow you to take steps to reduce costs when possible.
One of the main things that can drive up costs is the need for developing a custom server and APIs. This takes considerable time, and requires extensive testing. But it is also something that almost all modern apps require. In 2013, we developed under 5 apps that didn’t use some type of server. In 2014, that number decreased further, and now we aren’t currently working on any stand-alone apps.
Backend-as-a-service providers such as Parse, Firebase or Amazon Cognito are becoming more and more common. They make it easier to setup a backend, but don’t expect them to eliminate your server development costs. Any type of server, even one hosted by these companies, is going to dramatically increase costs.
While there are some programmers who can also create beautiful designs, they are in the minority. Most programmers don’t have nearly as good an eye as professional designers / artists do. And the few programmers that do have a good aesthetic sense usually are not nearly as fast or proficient at design as a professional designer. We thus STRONGLY recommend that after you complete some detailed specifications for the app, that you hire a professional designer to make beautiful graphics, and come up with an intuitive user interface. We would then take the specifications and design, and create the app from there. Clients who heed this advice usually see 10-30% lower development costs, which easily pays for the extra design costs.
If you would like, we can arrange for a graphic designer to complete the designs, or provide several recommendations for you to choose from based on your own aesthetic sense.
This one speaks for itself. The more complex an app, the longer development will take. Some features that are known to take considerable time are:
Many people underestimate how complicated it can be to make custom user interface elements, such as fancy dials, buttons that have unusual behavior, etc. If your budget is tight, we recommend avoiding these types of interface elements, and using the standard ones that are included with the operating system.
While it is important to have regular meeting so that everyone is on the same page, it is also critical that you give the engineers enough time and freedom to finish their work. Some clients are very hands off, and just want to know when things will be done. These clients usually see reduced costs because the engineers can focus their time on coding without being interrupted. Other clients will have 2-3 hours of skype meetings per week, when they have only hired us for 10 hours a week. Spending 30% of our time on meetings is overkill, and when you factor in the interruption cost, we wind up completing less than 70% of what we could have done without all the meetings. We are happy to have as many meetings as you would like, just know that too many meetings can be counterproductive and greatly increase costs.
We have seen this time and time again. We get a call from a prospective client interviewing developers, but after interviewing us, they ultimately hire some independent overseas developer who makes big promises on how little the app will cost, and how quickly they can get it done. Then after several months, they ultimately hire us after having a horrible experience with the cheapo overseas developer. About 25% of our clients are people who have come back to us after having a horrible experience with one of these overseas developers.
One specific example is a health care app we worked on last year. They hired a cheap engineer who was basically learning how to code while writing their app. After many months and $250,000 of expenditure, their developer abandoned the project, leaving them with a mess of non-functional code. It took 3 of our developers a year to fix their spaghetti code. Had we designed the app from the start, my guess is that those same 3 developers could have built the app from scratch in half that time.
There will always be a cheaper developer that promises miracles. You will, however, save money in the long run by working with an experienced firm that knows what they are doing.
Once in a while we will see a customer who provides us with complete specifications for what the app will do, what each screen will include, how the user will navigate through the app, what every single button does, etc. When we receive this type of detailed specification, it is then very easy for us to dive into the app and bang it out in a short amount of time.
Unfortunately, this type of customer is rare. Most clients have nothing more than an idea for an app, and want us to come up with the app flow / design and “show them what they want.” This can be a challenge, as there are many ways to do the same thing, and our ideas on how to setup the app can be quite different from yours. Sometimes this works out for the best and the customer is really happy with what we come up with. But more often than not we ultimately end up having the customer instruct us to redo large chunks of the application, and even redoing simple things can take MUCH longer than you would expect.
We are happy to assist with this if you want us to, but we highly recommend that you take the time creating detailed specifications for the app before we begin development.
Adding too many features to an app is a trap that most entrepreneurs who are new to app development fall into. One of our clients came to us with an app idea that we initially estimated would take 6 months to complete. It is now almost 2 years later, and they still have yet to release the first version of their app. This is not because we haven’t finished the work, but because they can’t stop adding new features to the app, and refuse to let use test and finalize the features we initially planned to include in the app. They have added camera integration with advanced image processing, complex GPS calculations, an internal mail system, support for several complex attachment types, group collaboration features, advanced synchronization, etc. Whenever they come up with a new feature, it has to be included, and everything else gets put on hold. 2 years later, they have an app with a ton of features, but none of them have been fully developed or polished, and they could very well spend several more years completing their app.
We thus recommend that clients cut as many features as possible from their v1.0 app, and focus on getting something stable that meets their base needs. Afterwards, we can continue to slowly add in new features and test, without feeling like there is an insurmountable amount of work to complete before we can actually release anything and start generating revenue.
When we have to make changes to an app, it is usually a much longer and more involved process than you would imagine. A single screen within the application can take weeks to complete depending on how complex it is. And the cost associated with redoing these items adds up very quickly. If you need to change large functionality within the app, such as how data is stored, or what features the app contains, costs are significantly higher. If you want to save money, do your design and tinkering before we are on the clock and billing you for our time.
It is always difficult to decide how much testing to put into a project. Most companies are in a huge rush to publish their apps as fast as possible, and don’t understand how important it is to dedicate a chunk of time to testing after the app is completed. We cannot stress the importance of testing enough. While I wish our code was 100% bug free, there is no such thing as bug free code. Just look at software from Apple, Microsoft, Facebook, Google, etc. They have HUGE teams of coders, and entire departments dedicated to testing and finding bugs, yet still turn out programs that need bug fixes. They spend a lot of time and money on testing, and so should you!
We recommend hiring professional testers who are trained at finding bugs, exploring edge cases, and thoroughly evaluating an app from every angle. You don’t want your developers to do all of your testing, as they are expensive, and their limited time should be put towards development. You don’t want your users testing your code either, as that is the quickest was to earn a bad reputation and lose customers. Customers also make bad testers as they often don’t tell you something went wrong (they just stop using your app and leave you a bad rating), and when they do tell you something went wrong, they often can’t describe the problem well enough for programmers to understand and fix the issue. Professional testers can do this. And the best thing is that they often cost much less than developers. Our advice: Allocate 2-3 times the amount of testing time you think you will need, and hire professionals to test.
Another question that we often get is if it is cheaper to just build a webpage wrapper than a native app. Development costs for a web wrapper are much lower than for a native app, and content can be easily updated without having to resubmit to the app store. This all sounds great, but there is also a dark side to web apps.
Web apps are slow. VERY VERY SLOW! Not all of your customers will be on high speed Wi-Fi all the time. They will use your app on spotty cellular networks while on the go, in hotels with high-priced slow Wi-Fi, in coffee shops, on trains, on planes, and in a number of places where you can’t assume that your web app will load quickly. And the slower the app runs, the worse of an experience your users will have. You are essentially tying your user’s satisfaction with your app / company, to the quality of their internet connection, which is a terrible bet.
And that is just the tip of the iceberg. Web apps are difficult to debug when things go wrong. It is difficult (if not impossible) to access low level phone features such as Bluetooth or the camera. And web apps often wind up costing just as much to develop as native apps when you factor in all the hidden costs associated with complex debugging.
Stay away from web apps at all costs.
We work with all platforms, and are happy to help you with any project you might have, but it is important to be aware of the difference in cost for Android development versus iOS development. Android has many more devices that need to be considered, and they are all very different. Some have minimal memory. Some have slow processers. Some have low resolution screens. Some have ultra-high resolution screens. Many devices are unable to upgrade to the latest OS (or even the next to latest OS). Some have custom front ends tacked onto the standard Android OS. There are just many more things that you have to account for during development. And you can’t ignore these older / obsolete devices as they are still used by a VERY large percentage of the Android user base.
In addition to the device / OS issues, you also have complexity issues on the development side of the things. The development tools and the APIs that Google provides are not nearly as polished or easy to use as those that Apple provides. Even if you were to develop an app for a single iOS device and a single Android device, the Android version would still usually take much longer to finish. Memory management on Android is also more complex than on iOS. There are limits to what you can do, and it is not as easy to work around.
Finally, there are fewer Android developers than iOS developers. I don’t know why that is (it may have something to do with the complexity of Android development, and the lower potential revenue generated by Android apps), but it is a reality, and we have to deal with it. This shortage of developers generally results in quality Android developers commanding a premium salary compared to developers working on other systems.
All these factors combine to make android development significantly more costly than iOS development. You can expect to spend 50%-200% more on Android development than iOS development. Therefore the standard practice is to start with iOS, flush out the design, data structures, interfaces, application flow, etc., and only begin porting to Android after you have released your iOS v1.0.
Jason Calacanis created a great post earlier this year about how much money a startup in 2015 should raise in their first round of funding. He suggested $750k would be a good number, with $120k for operating expenses (legal, accounting, equipment, etc.), and $630k for the team. That $630k further breaks down to $35,000 a month for a team of four (salaries, desk rental, etc.), which I would consider a typical team size for building an app. The timeline for v1.0 of the app would be 4-6 months, so simple multiplication reveals: v1.0 of the app will cost between $140k and $210k.
Another data point comes from Manu Kumar of K9 ventures, who wrote a post on how much money he believes a startup’s “pre-seed” round should be. He argues that $500k should be used for “building team and initial product/prototype”, with a $2M round shortly afterwards. Using a similar formula for operational dollars (16%), and a runway of 18 months, that would leave a monthly budget of around $23k. A 4-6 month development time would result in a v1.0 of the app costing between $90k and $140k.
As a last data point, you can look at Fred Wilson’s discussion of Union Square Venture’s seed investments. His article also supports the conclusion that most startups should budget anywhere from $500k up to low seven figures for their first 18 months.
Craig Hockbery, one of the developers for Twitterific, created a great StackOverflow piece on how much it cost to build Twitterific’s iPad app in 2010. They were able to reuse a lot of the data structures and underlying code from their iPhone app, and didn’t have to write any new server code, but still had to create the new apps’ design from scratch. Twitterific’s iPad app cost them around $250k to complete.
Had they needed to create a backend server component, that number would have been greatly increased.Now there are now several great choices for backend-as-a-service, such as Parse, Firebase or Amazon Cognito. They can make it easier to setup a backend, but don’t expect them to eliminate your server development costs. Any type of server is going to dramatically increase app cost.
A server-heavy example would be Instagram. Their app is nothing without its server component. In 2010, Instagram’s initial seed round was $500k. And you should take that number with a grain of salt, as costs have gone up since then, and their initial development didn’t include Android (see the “Android Tax” section of this page for more info on why Android would have greatly increased their expenses).
Uber is another good example of an app with a heavy server behind it, and their funding is indicative of the associated expense. Uber’s seed and angel rounds totaled about $1.5M, with another $11M less than 6 months later. That is an extreme example, but provides another useful data point, especially when you consider that almost all apps nowadays have a server component.
Now that we have a good idea of what features and platforms can increase the cost of an app, and have examined how long a v1.0 usually takes, let’s look at developer choices. This is also going to be a BIG determining factor in how much your app will cost.
One of the easiest ways to estimate what it would cost for us to develop your app is to compare it to some of our other work. I will provide a few examples of different types of apps, and specifics on their costs and timetables, which you can then compare against your own app.
Example 1: The health care app that we had to rewrite took 3 of our developers 1 year to complete, and cost $250k. This same app could have been done in about 6 months had we started over from scratch instead of trying to fix the broken app that the overseas developer had created. This app used 20 APIs, had 30 screens, encryption, photo manipulation, audio encoding, web sockets, and was HIPAA compliant.
Example 2: We wrote a check-in app for a church that 1 developer completed in 6 months, at a cost of $75k. This app only supported the iPad, used 5 APIs, and had around 10 screens.
Example 3: We wrote a banking app that took 6 developers 2 years to complete, at a cost of $1M. This app was extremely complicated as it had to integrate with an existing banking server and a new custom server API that had to be developed. The app featured security encryption, OCR checking, core data, support for 20 APIs, and a windows based XML parser.
Hopefully this page was helpful, provided some good reference points for what an app should cost, and left you with a better idea of what to expect. We generally see v1.0 of simple apps costing around $50k for an iOS version, $75k for an Android version, and $40k for a custom server. They generally take around 3 months to complete, with one developer working on iOS, one on Android, and one on the server. A complex app could cost 7 figures for the first version. We recommend that before development begins, you have a well-defined minimal set of features, completed designs, and that you start with iOS since Android is more expensive and complex.
If you would like to hear more specifics on what we think your app will cost, feel free to contact us: