We are a software company, so we talk apps, features, code and deployments, so we sometimes forget that the actual currency comes in numbers for our clients. This rapport is extremely important for them as it helps them understand their needs and resource assignment. It is not always easy to estimate the cost of an app or even the cost of your needs. That is why we came up with this 11-point guide of app costs to help you work these estimations. We created a tool to help you do that, but till we get there, let’s go through this 11-factor list.
1. Your goals
First, you have to think of what your needs are and what you want to achieve. Do you need to create a prototype for your investment case? Do you need an MVP to help you validate the business idea you’ve been developing? Here is an article describing the most important aspects to consider when you want to create an MVP.
Or maybe you want to build a full-fledged product that’s ready to accomplish all your business needs.
2. What platform do you want to build on?
Building an app, but the first question is always “will it be web or mobile?”. To answer it, there are multiple aspects to be considered.
If your answer depends on the budget, then you should know that a mobile app is at least 30% pricier than its web alternative, with the same requirements.
If you’re focusing on meeting your target’s preferences, then mobile is your go-to. A recent study shows that mobile users spent 90% of their screen time in apps, hence browsing the internet in a significantly smaller percentage. This can be explained due to a better user experience, faster speed and more customising features. Also, special offers that the users can get. Moreover, Millennials, the cohort with the strongest buying power, prefer engaging in online purchases via mobile apps rather than through websites.
Still in doubt? Go more specifically, does your product require any hardware integration like camera, accelerometer, or gallery access? Does it need to work offline? There are a few key aspects that can only be achieved by a mobile platform and those need to be taken carefully into consideration.
Ultimately, besides the target focus and the product’s requirements, making this choice comes down to pricing. Theoretically, anything a mobile app can do can also be achieved by a web version in a way or another, but it’s better when the client is aware of all these aspects.
Before you get in touch with your software development partner, try to clarify these two things:
- Who are the potential users of your app?
- What do you want them to do within the app?
These aspects are highly relevant for the developers’ side as there are multiple ways to achieve a feature, each of them involving different levels of innovation. Do we need to do research to figure out these ways? It is always great to have an idea of the sort of actions you want to enable your users to do so that we can estimate their complexity. Maybe it’s artificial intelligence that would compute data, or maybe you want augmented reality to showcase your product or maybe blockchain. It’s great to use such technologies to boost your project, so better study them a bit so that we can create the best and most efficient way to meet your needs.
4. Tech stack
Now that you’ve settled on the platform, it’s time for the tech talk. Choosing the technologies you’ll be using for creating your app is a long term decision, as it might be difficult to change it later on. We recommend going for new, popular, and well-maintained technologies as they are designed for faster and much more stable development. You will only go bigger and bigger so why choose something that others have already replaced for something fresher? If you want to learn more about what a tech stack is and how to pick yours, we wrote an article that talks just about that.
5. Using a template vs custom design?
Would you like to tailor your app on a pre-existing template or would you prefer to build your own custom design? If you’d like to go for the former, picking a template available online and reuse its components, then your project’s price can go down by as much as 20%. This is because using a template makes the process easier and faster, even in the long term as the developers will be able to use existing components in the UI.
Another element of design that’s important to consider is your logo. Whether you want a custom design or you want to buy it from an online source, you can start with a source like Logomaster. The same goes for your graphics and pictures which you can easily get from Flaticon or Unsplash.
In our own experience, we decided to develop the UI components from scratch and it worked very well in our case, so we recommend it. These would be the main pros and cons of building your custom UI:
- advantages when building your custom UI – For starters, we would collaborate more and work together to tailor the design based on your clients. Also, this gives you more flexibility as we can create whatever you imagine.
- disadvantages – having a custom design made for you is that the costs are higher and it takes longer to get everything in place in comparison with using pre-existing resources.
6. Software architecture
Another question to ask yourself is whether you want to go for the boilerplate backend we created or you need custom integrations? Internally we’ve developed boilerplates for most common backend functionalities. Those are integrations like authentication, user management flows or document handling. Those boilerplate integrations were built from scratch by us, integrated among multiple clients and tested well on different use cases.
Compared to building on new technologies, using our own well-tested integrations comes with a few great advantages:
- You get well-tested components that proved their stability and performance already within multiple other projects
- Lower maintenance and development costs.
Should your software be already ready to scale horizontally or just vertically?
- Horizontally – your app will be able to be deployed on multiple servers simultaneously
- Just vertically – your app will be able to be deployed on a single server which can only have its resources scaled up compared to multiple servers
Is your app dealing with user profiles and sensitive data? Storing personal data could be a tricky operation and needs to be done carefully. Building an architecture based on personal data accounts could give your users full ownership and control over their data. We’ve written an article to explain how this works and why is useful:
Data quantity and speed
You will most likely have to process transactions with large amounts of data and your app should be ready for that. If the app requires real-time data transfers such as live scores, live chat or transactions, you will need a stronger software architecture.
The workforce needed to create your app will be determined by your timelines. The tighter the timeline the more resources your project will demand in order to be completed in a short time. You learned it by now, this will raise your cost.
8. Infrastructure & deployment
There will be hosting costs for your app, cloud-based solutions, usually offer monthly or yearly contracts and we are working with a few top providers like Amazon’s AWS or Digitalocean. Besides choosing a provider, the backend architecture can be deployed in two scenarios:
- Single deployment – We pick the one location where most of your users are located and we deploy your backend app in that single location.
- Distributed deployment – We pick multiple locations and we deploy your backend app across multiple servers in order to get your system more reliability and scalability. This also proves that your system is ready to expand across multiple locations from around the globe.
9. Platform-specific costs
Whether you want to develop your app for IOS, Android or both, this will impact the cost of your app and might be worth considering in the first place. At QwertyBit, we use Real Native, a technology that allows for developing one app that shall go on both IOS and Android at once. We find this very helpful
- Android – The release procedure differs between the two as Android apps are easier to publish to Google Play. It can take as short as whole only a few hours. Still, Android apps require a longer testing time as there are more device versions, hence the cost will go up as it’s more timely.
- IOS – Usually this comes with a larger revenue generated by you as the Apple store is well known for generating much higher revenues compared to its direct competitor Google Play. A shorter testing time since the number of devices counts significantly less than in the case of Android. IOS development usually involves more costs for the developer as more expensive equipment is required, as Apple devices are a requirement for developing and publishing an app.
Both developer platforms come with some costs as Apple is currently charging a yearly membership for their developer programme, whereas Google takes a fee for lifetime access to the developer console.
10. Third-party integration costs
Never neglect the cost of your suppliers. According to your business, you will require third parties to handle your payments, analytics, news, chatbots, etc. These costs vary from provider to provider. Here is an article that references some real examples of what can go wrong when not choosing your payment providers wisely.
11. Recurring costs
Some of the costs we went through already will be recurring. These include maintenance, hosting, memberships, domains or security certificates.
Maintenance is required by any software project in order for it to survive after launch. It consists of periodical updates, security checks, downtime support and constant backups.
Estimating a project’s cost doesn’t have a universal formula as each one is unique and has its own specific requirements. If you follow this 11-point guide of app costs, you will at least be aware of all the costs involved when developing an app. If you have a project ready and need your development partner, check out our price calculator! Set up a call with us so that we can discuss your unique needs and build your app together!