How much is a MVP app?

How much is a MVP app? Well, honestly, that’s a question with a few different answers, and all of them are open-ended.

If your question is in reference to how much of a feature set a MVP app includes, the answer is “all of it,” and you’re wondering about the spend of developing a MVP app, the answer is “it depends.”

MVP apps aren’t magical money-saving inventions, nor do they follow a strict development roadmap – there isn’t a uniform MVP app, just as there’s no set of rules for running a business. A MVP app, by definition, provides the minimum amount of features to be a viable product. So the answer to both of these pre-supposed questions is “as much as you want it to.”

MVPs and feature sets

First off, it’s important to fully define what a MVP is:

Minimum – the minimum set of features a product can have while still remaining…

Viable – to provide value to customers, so they are willing to engage with the…

Product – which is ready to be used for consumption.

Many people like to think MVP means “rushed” or that the product produced could be classified as a prototype. But a MVP app is neither of those things – what makes a MVP app a MVP app is the idea and the implementation of that idea, not the product itself.

MVP apps come with complete feature sets, as they must be ready for consumption on the market – and in fact, MVP apps usually need to perform their specific task better than any other app on the App Store or Google Play.

This is especially true when building a MVP app when competition already exists.

Now, keep in mind, that while a MVP app’s feature set must be complete, there is no such thing as a complete app. Updating your app is a continuous process that is necessary to the success (and survival) of your app. There is a correlation between frequently updating an app, and the revenue that app produces – the most successful apps today release an update one to four times every month.

This is why MVP apps lend themselves well to the app marketplace – software products are expected to update frequently anyway, so you might as well start with a basic, robust foundation that allows for easily planned, strategically implemented updates.

This is the true value a MVP app brings to both you and your users – when presented with a minimal feature set, users are able to request the features they want, and developers are able to implement these user-requested features without the hassle of working around other existent features.

A MVPs feature set should only work to solve the problem the app is designed to solve. Pain points are the most powerful aspect of your app – and any feature that doesn’t play a role in that solution should be removed.

For example, a rideshare app like Uber would only need a few of the features it currently makes use of to solve the transportation pain point it solves. A MVP rideshare app would make use of GPS and mapping, navigation, location services, a backend database to store user data, and a payment gateway like Stripe. This would all be organized in a simple UI.

All of the other features Uber makes use of are quality of life improvements – while they aren’t vital to the core functionality of the app, they do bring users extra value. Adding value to an app over time is a great way to retain users – they will continually return as they see the update notifications.

The cost of MVPs

Due to their reliance on a specific, targeted feature set, the development cost of a MVP app can vary wildly. Depending on what your MVP app is attempting to solve, your app could cost $25,000, or $100,000.

The equation to determine the development cost of any app is the one constant in app development: hourly rate, time, and scale. A MVPs limited feature set – by design – reduces two of these variables. While this does reduce the initial development cost of the app, the true value of a MVP app, as stated above, is the engagement you receive from your users.

This is why the money saved in the development stage should be put right back into building a community for your MVP app. The value a MVP brings is nonexistent if your app doesn’t have a community built around it. As soon as you have an idea for an app on the table, and even before development starts, your first priority should be to find your market, and then engage with it in order to create a community.

For more about MVPs, market research, and pain points, check out our aptly-titled blog, MVP development: Market research and pain points.

The best way to reduce the cost of your MVP app (and this is true for the development of any application, software, or product in general) is to have a solid plan, and carefully execute that plan by properly managing your development cycles.

For more about MVPs and development cycles, check out MVP + Agile methodology.

How much does it cost to make an app like WhatsApp?

An app such as WhatsApp is similar to an iceberg: there’s a lot more going on under the surface than above. Like many of the apps we have covered in our How much does it cost? series, WhatsApp’s seemingly simplistic design and easy-to-navigate functionality disguise its internal complexity. Every app’s development cost comes down to the following equation: Feature set + scale + hourly rate = total development cost.

Using this equation, we can determine that based on the scale of the app being created, the cost of developing an app with a feature set similar to that of WhatsApp would range from $75,000 to $95,000. These are, of course, the ranges of your app’s initial development cost – you can expect to spend one-fifth of your app’s total development cost in app maintenance every year. Also, different hourly rates can increase or decrease your overall spend drastically.

It’s important to note that no app is the same – and until you have your app’s entire feature set planned out, it’s backend systems architected, and your market research complete, you won’t be able to accurately assess the true cost of your app’s development. The estimates below are just that – estimates. While these ranges do come with the backing of years of professional experience and know-how, development of any app’s feature set can vary wildly depending on many factors.

WhatsApp’s market presence

WhatsApp was founded all the way back in 2009, and five years later, in 2014, was sold to Facebook for $19 billion. To put that return-on-investment into perspective, their initial app was developed with $250,000 in seed money.

WhatsApp didn’t just experience record growth in the company’s valuation – in just four years time, the app had seen its monthly user metric rise to 419 million – that’s more monthly users than Facebook Messenger, Gmail, Twitter, and Skype’s fourth year monthly numbers combined.

Now, in 2019, WhatsApp’s monthly user number rests at 1.5 billion. That’s a lot of messages.

Let’s look into the feature set that created the environment for such a wildly successful app:

WhatsApp’s feature set

UI / Design / Animation

There’s a pattern in UI/UX design that’s so constant it could be called a rule: the simpler an interface is, the more time and thought was spent designing it. Taking the entirety of WhatsApp’s feature set and creating an easy-to-use interface takes time, resources, and plenty of experience. Designing an app that uses the number of features that are present in WhatsApp would cost at least $10,000, but this cost can vary depending on the functionality you want your app to possess.

Instant messaging

This is the main feature of WhatsApp – for many of the app’s users, the instant message feature either replaced or beat SMS to the punch – and this is made especially recognizable by the app’s large number of international users.

All messages (and indeed, all forms of communication) sent through the app are free – users only need to provide WhatsApp with a phone number that is used to create a unique profile, and they are able to instant message with any WhatsApp user for no charge.

WhatsApp sends messages over a wifi connection using end-to-end encryption – if a user is not connected to the internet when a message is sent to them, the message will be stored temporarily on WhatsApp’s servers, until the user has established a connection again. Once a wifi connection has been re-established, the message is downloaded to the phone. After a message has been sent and received between the parties communicating, it is deleted from the WhatsApp servers.

WhatsApp’s instant messaging feature can be used to send messages to an individual WhatsApp account, or to a group – of which you can add a maximum of 256 users to a single group. The technology behind WhatsApp’s instant messages is called XMPP (extensible messaging and presence protocol).

Developing these combined features for your app would cost at least $35,000.

VoIP and video chatting

WhatsApp users can also make phone and video calls through the app – by using voice over internet protocol technology. By using internet and cell data, users can talk and see each other anywhere around the world without paying for international charges.

Developing your VoIP features for your app would cost at least $35,000.

Geolocation

Using the “Live Location” feature, users can share their location in real time with contacts. They can control their privacy by manually turning this on and off, or by setting a share timeframe. If your app will be developed for Android, it’s best to use the Google Play location services API, and if your app is intended for iOS, Apple’s Core Location Framework.

Implementing a feature such as this will cost around $3,000.

Push notifications

Users will receive push notifications whenever they are sent a message while they are not currently engaged with the app. There are many different methods of implementing push notifications, whether through cloud integration, AWS, or may other platforms. Our favorite is Kumulos.

Other features

WhatsApp makes use of other features to round out its feature set: cloud integration so users can save messages, calendar sync so users can easily schedule meetings and appointments, multi-media file transfers so users can share content with each other, and in-app payments so users can send money to one another.

WhatsApp?

If you were to build from scratch an app that mirrors WhatsApps’ current functionality, your development time would range from 650-750 hours. This can change depending on many different factors, including the development team, the feature set, and the specific requirements for features such as security and latency. The time spent developing an app such as this is worth it however – and all 1.5 billion WhatsApp users agree.

How much does it cost to make an app like tinder?

Building a dating app like Tinder is much the same as building a relationship – it takes time (which in the case of mobile app development, means money) to develop something special. If you’ve been keeping up with our How much does it cost? series, you’ll be familiar with the app development cost equation: Feature set + scale + hourly rate = total development cost.

Using this equation, we can determine that based on the scale of the app being created, the cost of developing an app with a feature set similar to that of Tinder would range from $80,000 to $150,000. These are, of course, the ranges of your app’s initial development cost – you can expect to spend one-fifth of your app’s total development cost in app maintenance every year.

It’s important to note that no app is the same – and until you have your app’s entire feature set planned out, it’s backend systems architected, and your market research complete, you won’t be able to accurately assess the true cost of your app’s development. The estimates below are just that – estimates. While these ranges do come with the backing of years of professional experience and know-how, development of any app’s feature set can vary wildly depending on many factors.

Let’s look over Tinder’s feature set, and go over the individual aspects that influence a dating app’s cost of development:

Tinder’s feature set

UI / Design / Animation

For every screen an app has, and for every point of interaction on those screens, more time will be spent designing and animating your app. Animation is a key factor to user retention in any app, but when designing an experience meant to entice users, animation is a necessity.

Depending on the number of features your app utilizes, your UI/UX costs could range anywhere from $6000 to $15,000. If your app is being developed for both iOS and Android, this time will be nearly doubled (this is applicable to most app features).

Social login integration

A quick onboarding process is another important development choice when it comes to maximizing your app’s user retention. The less steps a user needs to take before they are able to use your app, the better. This is where social login integration comes into play.

Tinder connects a user to their Facebook profile, and then creates unique credentials for that user, which can then be used by the user to login to Tinder. While the user is still effective logging in via Facebook, Tinder creates a unique tag based on the user’s Facebook profile to increase its security. Implementation of this feature can cost anywhere from $300 to $1,500, depending on the level of security you want in place.

Instant messaging

Tinder’s chat feature can be replicated via a messaging service like Pubnub or Apache Kafka.

PubNub can provide real-time integration for chat features, IoT device communication and streaming, mapping, GPS, push notifications, and alerts. PubNub’s services start at $49 per month, plus data transaction fees.

Kafka can be used for messaging, website activity tracking, log aggregation, stream processing, and event sourcing. Like everything under the Apache license, it’s open source, and therefore a free API to implement.

There are many more real-time services that provide real-time chat functionality, like AWS and Google Firebase. For more about realtime implementation, check out our How much does it cost to implement realtime updates in your app? blog.

Facebook data integration

After using the Facebook login feature, Tinder will mine for specific data from a user’s Facebook profile – examples being mutual friends and common interests, as well as location. Tinder then takes this collected data and uses it to help find potential matches for the user.

Implementing a feature such as this can range from $10,000 to $13,500, depending on how much information you want your app to collect.

User profile

In order to keep track of who a user has matched with, potentially matched, rejected, and been rejected by, Tinder must store data tied to individual user profiles. This data would be collected and stored in the backend in data tables located in remote servers.

When users add a profile photo, edit their bio, or make any change to their profile, the app will re-write the data stored on the server. Anytime a user views another user’s profile, they are connecting to the server that houses the respective data.

Implementing a feature like this can take 120 to 200 hours of development time – building out the data layers necessary for an app like Tinder is a massive undertaking. Also, be aware -managing a growing user base over time can significantly increase your backend server maintenance costs.

Matching

We all know how the process of using Tinder works; if a user swipes right on another user’s photo, and then that user swipes right on the other user’s photo, a match is created, and the users can then begin chatting through the app.

While this creates an easily understandable flow for the user, there is a significant amount of real-time data transferring that must take place in order for this feature to be properly implemented.

Development of this feature can cost anywhere between $1,500 to $3,000 to implement.

Notifications

Notifications are one of the most effective forms of engaging users when they aren’t directly using your app. They are also incredibly practical calls to action – if a Tinder user gets a match, they can be alerted via a push notification alerting them as such. Or, if a user has ran out of swipes for the month, but has a high number of potential matches, you can entice the user to buy more swipes so they can connect with the users who have expressed interest in their profile.

For more about implementing push notifications, check out our blog How much does it cost to implement push notifications? – with Kumulos.

Location services

Tinder automatically detects a users location, and provides potential matches based on that location. Tinder also gives users the ability to pin their location to a specific area, and to change their location entirely.

Implementing this feature would range from three to five hours of development time, but this estimate can change depending on the complexity of the system you are creating, and the SDK you are utilizing.

For more information, check out our blog, How much does it cost to add a GPS and mapping API?

In-app purchasing

Tinder uses in-app purchasing to increase its revenue – from paid subscriptions to emoji packages, users can make purchases through the app. In order to implement in-app purchasing, you can use a payment API like Stripe.

Proper integration of this feature can range anywhere between $4,000 and $5,000.

Tinder’s revenue

Tinder’s revenue stream is massive – in 2018, the app made $800 million. The app sees about 50 million users per month, has 3.8 million paying subscribers, generates almost 26 million matches every day, and users swipe over 1.6 billion times every 24 hours.

While developing and maintaining a dating app like Tinder might have a fairly high initial development cost, the potential revenue your app can generate more than makes up for it. For more about app maintenance costs, visit our blog, How much does it cost to update an app?

How to find and work with a freelance mobile developer

Sometimes, hiring a freelance developer is the only option you have – whether it’s due to budget concerns, or the need to fill-in a missing link in your internal IT department is too pressing to conduct a search using your own resources and time.

Freelance developers come with the benefit of a lower hourly rate – but if not carefully vetted, prepared, and managed, freelancers’ benefits can be overshadowed by never-ending development cycles, un-met goals, and low-quality products.

Finding a freelance developer

When searching for a freelance developer, nothing is better than a referral from a trusted source – if that isn’t an option, however, there are a few sites online you can trust, and many you should do your best to avoid.

One such site that you can trust is TopTal. The Android and iOS developers that you’ll find on TopTal have been vetted, and only the top 3% of talent is accepted. The developers on this site all come with proven track records, and verifiable experience.

TopTal even offers their own form of freelance project management; a TopTal representative will keep track of your project’s progress, as well as making sure you remain satisfied with the level of work being produced.

Another site that heavily vets freelance developers is Hired. This company only accepts the top 5% of freelance developers, in a similar fashion as TopTal. Just like TopTal, Hired will only accept developers with extensive experience in the industry.

The last site we’re going to cover is gun.io. If you’re a company looking to fill in a skill gap in your development team, gun.io has you covered – they specialize in finding the best talent for your development and engineering departments. gun.io also, (like TopTal and Hired) vets candidates throughly, so you can expect a candidate who knows what they’re doing.

There is one issue with going the route of upper-echelon freelance talent, however: hourly rate. Due to these companies listed above doing so much vetting (and sometimes project management) of their own, you’ll be paying a much higher hourly rate than when compared to the usual rates you’ll find on a site like Upwork or Fiverr.

We also highly encourage you to make sure your freelance developer goes through your own vetting process, in order to make sure they will work well within the framework of your team or company.

Working with a freelance developer

When working with a freelance developer, the most important step you can take to ensure a productive development cycle is to quickly establish a strong line of communication – if you can afford it, face-to-face meetings are always the best way to start building the relationship necessary to develop an app.

Also, make use of as many communication tools as possible – this can include video, messaging services like Slack, phone, and of course email. Make sure to set the tone yourself – be the first one to reach out after a contract has been signed. You’ll want to make sure your project manager assigned to your freelance developer is quickly responding to communications from them – freelancers also expect clients to be responsive.

This is because if your freelance developer has a question, they won’t be able to proceed until you have answered it. Even if the project manage doesn’t have the answer in that instant, they should respond with a quick message explaining that they have seen the communication, and are working to find the answer.

If a freelance developer feels like they are being ignored, they will move on to a different project with one of their other clients – the majority of freelancers work with multiple clients – so you’ll need to be extra attentive to any questions that will arise during your app’s development.

During the building of this new business relationship, you’ll want to set clear goals for the product you expect, and the gates of approval your freelance developer should expect. It is best if you can have a clearly defined tech doc detailing the features and capabilities of the product you want.

Also make sure to provide samples of what you would like your final product to look like – this will help during the design phase from reiterating and editing work, which can severely bloat the budget of your project before it even truly begins.

Another good practice is to hire a consultant to check over the code your freelance developer has produced – you’ll want to make sure the code that is written is easily decipherable. If it isn’t, you might have to start the development process over again as soon as your app needs to be updated.

Freelance developers make a living by continuously taking on and completing projects – it is rare to find a freelancer who is willing to stay available for a single client, and because of this, you’ll most likely need to find a new freelance developer when the time comes to update your app.

For this reason you’ll want to make sure the codebase produced is incredibly robust and well-structured, or else you’ll be forced to choose between abandoning the codebase, or waiting for the freelance developer to become available again (which in some cases, can take months).

Freelancers can be either be a blessing or a burden

With careful planning, attentive management, and open communication you have a good chance of developing a great app. By ensuring your codebase is strong and easily readable, you can make sure your app stands up to the test of continuous updates.

To find out how much it cost to update an app, check out our blog on the topic.

MVP + Agile methodology

Developing a MVP app using the agile methodology of project management is a powerful combination for any enterprise, appreneur, or startup seeking to prove the validity of their idea. Before we get into this combination, however, let’s first look into what a MVP is, as well as agile methodology.

What is a MVP?

A MVP (in regards to app development) is an app that utilizes the smallest number of features possible in order to a) cut the time of production, b) reduce the total cost of development, and c) gain customer validation and insight.

MVP stands for:

Minimum – the minimum set of features a product can have while still remaining…

Viable – to provide value to customers, so they are willing to engage with the…

Product – which is ready to be used for consumption.

While a MVP app is a great way to get to market both faster and cheaper than a conventional app, the true value is the customer insight a MVP provides. Due to the utilitarian nature of a MVP app’s feature set, early adopters of your app are able to request additional features based upon the core functionality of your app, and you don’t send time backtracking and re-developing entire sections of your codebase in order to replace features your users didn’t even want.

The feedback your MVP will receive will also be much more precise and reliable than if you were to spend resources conducting preliminary product focus groups; customers will use your app in many different situations and settings, will compare its usefulness to other apps they use regularly, and will have more time to engage with your app before providing feedback.

What is Agile?

Agile is a widely-popular methodology for app development. Agile development, at its core, is about incremental improvements; teams work in sprints to complete objectives, such as “successfully implement in-app payment,” or “build out user profile UI.” During these sprints, developers will meet to discuss what they have accomplished, and what they are stuck on.

A developer’s code will be tested, and after passing code review, will be added to the true codebase of the app, known as the master branch. Once an objective has been successfully implemented, the team will move on to the next feature. Over the course of development, this process will continue until a complete app is built.

The benefits to an Agile method of development are numerous, but three stick out: speed, reliability, and adaptability. This development methodology is fast because code isn’t implemented until it is tested and reviewed, therefore creating a robust codebase, which allows for easy post-development updating.

Due to these aforementioned benefits, Agile methodology has practically become a standard for developers; each dev shop will put their own twist on things, but the overall process of adding to the master branch incrementally remains largely intact. With user retention being so closely entwined with app updates, having a reliable and structured codebase like that provided by Agile is important; developers often must push out app updates on quick timetables when a new OS releases, or a new device is released to market.

MVP + Agile

Just like Agile, MVPs are based around quick development cycles, and just like MVPs, Agile methodology revolves around improving a codebase via continual, incremental updates. Due to their overlapping nature, these two methodologies fit perfectly together, and create a development environment that is both highly stable and cost efficient.

In order to successfully merge these two methodologies, you will need to make use of careful planning to ensure product market fit. While every app will face different development hurdles, and therefore travel a different path, a MVP app developed in an Agile environment should include the following steps after the initial development cycle:

1 – Testing

Testing is the number on step on this list for a reason – without it, all the following steps are based on flawed data. Apple makes conducting a beta test simple with TestFlight, a service which allows you to host an app for a limited beta test release.

This is why we recommend developing your MVP app for iOS.

This gives you the environment you need to allow beta test users to download and engage with your app. In order to ensure your beta test has enough participants, you’ll want to cultivate a following on social media beforehand.

2 – Community engagement

By engaging with your early adopters, you can drastically reduce the total cost of your app’s development through crucial customer insight. This benefit is the reason so many big names in the tech industry started out as MVPs: Google, Airbnb, Dropbox, Buffer, Uber, Facebook, and Snapchat, to name a few.

The crucial aspect to customer insight is true customer engagement. Throughout your beta test, respond to criticism and compliments alike – and when users request a feature, implement it. If a user leaves a rating and review after your MVP has launched on the App Store or Google Play, respond, and if they have requested a fix, implement that fix.

By showing this level of care, you will ensure the customer feedback you are receiving is truly insightful – while simultaneously creating an engaging and value-producing product.

3. Continual updates

Going hand-in-hand with step 2, continual updates are key to any app’s user retention metric. Users are constantly demanding new innovation and a better experience – which is a huge driving factor behind the need for UI design updates. Security risks play a significant role in this as well.

Incremental, insightful improvements

With a MVP product developed using Agile methodology, you are ensuring the development of your app is both fast and cost effective; with direct and low-cost customer insight and structured code implementations leading to robust user experiences, your app can quickly collect and retain a growing audience that both proves the value of your product and adds to it.

Onshore vs. offshore: Cost vs. value

We live in a truly global age – theoretically, there’s nothing stopping you from picking up your phone and video chatting someone in Nepal, other than the fact that you probably don’t have a contact that lives in Nepal (or, if you’re reading this from Nepal, video chatting with someone in Paris, Texas).

If you’re reading this from the US, there’s a few good reasons you don’t have a contact who lives in Nepal (unless you do have a contact who lives in Nepal): time, distance, and language. It’s pretty difficult to create a relationship with someone who’s asleep when you’re awake, lives 6,000 miles away, and doesn’t speak the same language as you.

As this piece published by Medium states, offshore software development can potentially be four times cheaper than software built in the US or Europe, but for the reasons listed above – and more which we’ll cover below – when put into practice, offshore development usually ends up costing you more money.

Why? As we’ve written about before, the cost of app development (and any form of software development, in fact) comes down to the following equation: feature set + scale + hourly rate = total development cost.

Yes, hourly rate is one of the major determining factors to the cost of development, and yes, offshore development tends to be cheaper than onshore – but, so too are feature set and scale included in the equation. Development of an app’s feature set requires significant communication between developers and clients, and as distance increases, so to does your operating scale.

Distance = time

Unsurprisingly, the majority of differences between onshore and offshore development arise from distance more than anything else – even if both parties are speaking the same native language, a choppy wi-fi signal, when transmitted internationally, can cause major disruption to communication comprehension. This problem is of course compounded when accounting for language barriers.

There’s more to distance than its purely physical definition – cultural distance is a major disruptor to the time it takes to develop an app. UI design is a language unto itself, and depending on what culture your designer is from, you many not be supplied with a UI that fits the tastes of your target market.

Take, for instance, this app made for the Brazilian market. For many users in less-digitally-developed countries, smartphones are their only method of accessing the internet. Therefore, apps are designed to do as many things as possible, and utilize bright color palettes to convey feeling rather than responsiveness and tight animations that exemplify onshore UI design.

This does mean, however, that when creating an app that is to be used across multiple countries and cultures, it’s best to find designers from each region to create region-specific layouts, in order to best attract your individual niche markets.

Finally, as we previously mentioned above, there is always the logistical aspect of developing an app with someone half-a-world away. Questions about current build iterations usually come up at the beginning of the day, not the end – which when working with a team on a 12-hour time delay, can equate to a full day of work lost for that particular developer.

If a developer has a question at the start of their day for you, and your day doesn’t start for another twelve, there’s no way for that developer to progress – full-day-delays can lead to adding an entire extra week onto your development timeline over the course of a project measured in weeks; and for projects measured in months, entire extra seasons can be added onto your turn-around time.

Communication

An iOS app developed in India is written using the same language as one developed in the US. Software languages don’t change depending on the developer’s geographical location – but documentation does.

Clear documentation is absolutely necessary to a successful software handoff – if you’re a company with your own internal IT department, you might be forced to spend significant amounts of time either reading tens of thousands of lines of code, or talking to your offshore development team for clarification.

Improper documentation doesn’t just cause problems during development – it causes deployment issues during updates as well. It’s smart to estimate your time spent communicating with your offshore team will take four times as long as it would when compared to an on-shore team, when accounting for delays caused by language barriers and timezone differences.

Logistics

Working closely with an offshore developer can create nightmarish amounts of red tape. Scheduling a meeting with an offshore developer can mean paying for multiple international tickets, hotel expenses, meals, visas, and much more. It shouldn’t cost your company thousands of dollars to hold one face-to-face client meeting.

There’s a reason in-person meetings are so important – meeting with a potential business partner in real life is the best way to determine whether or not you should place your trust in them. Placing your trust in a company that has no personal connection to you can lead to some severe repercussions, especially when paired with the more lax security and privacy laws offshore developers are subjected to.

IPs are also less protected when developed offshore, and if your intellectual property is stolen, your international legal fees can add substantial bloat to your operational budget.

Everyone knows the old saying “you get what you pay for,” and in regards to offshore vs. onshore development, this adage still rings true. Domestic developers have more of a stake in maintaining their reputation with clients, as offshore developers have the ability to move from project to project without repercussion – meaning the quality of your app’s code can suffer over time as it deteriorates from lack of updates.

With a domestic developer, you’re much more likely to receive an upgradable, adaptable, and understandable codebase for your app – don’t sacrifice long-term stability for short term profits.

How much does it cost to build an app like Waze?

How much does it cost to make an app like Waze?

Feature set + scale + hourly rate = total development cost. This equation serves as a high-level overview of the factors that influence the cost of developing an app. All of these variables are influenced by time.

The more features an app has, the more time it takes to plan, design, and build. The larger the apps scale, the more time is spent building and testing networks and servers. The higher the hourly rate, the more valuable your time becomes.

This is what makes giving an exact estimate in regards to the question “how much does it cost to develop x app?” impossible – depending on who makes it, and the scale of the app being made, your development costs can vary drastically. If Waze were only available in a single city, the shift in scale would equal a huge reduction in operating costs – but so too would the app’s revenue tank.

Speaking of revenue, let’s go over where Waze stands right now, and how it got there:

The second most popular mapping app in the US

Waze is a real-time navigation app that provides directions based on real-time data provided by its users. In 2013, Waze boasted over 36 million users, and was bought out by Google in the same year for about one billion dollars. Currently, Waze is home to more than 110 million monthly active users, and makes an annual revenue estimated at $37.7 million.

The digital navigation market is big, and growing: the industry is expected to produce over $34 billion in revenue by the year 2021. Navigation apps stand to make a lot of money in the coming years, especially with the rise in proximity marketing campaigns being utilized by local businesses.

What makes Waze go?

Waze, as we stated above, makes use of crowdsourced, user-fed information to provide navigation and directions that avoid road hazards like traffic, construction, speed traps, and other things on the road that can lead to a delay in travel.

There’s a lot more that the app does. Let’s go through the entire feature set:

Register / Log in

It may seem like an unnecessary step for a navigation app, but Waze smartly added gamification to their app. Users can travel to certain locations to pick up candy, which gives them points. As users gain points, they level up, and as they level up, they gain access to new features that improve their experience within the app. None of these features are critical to the function of the app itself, but provide little bonuses. In order for the app to keep track of a user’s level and points, they must be able to create an account, which would then connect to a data table hosted on a remote server.

GPS / Mapping / Navigation / Turn-by-turn voice directions

Waze uses its own SDK to provide GPS mapping and navigation services, and integrates with voice to provide users with audio-based directions.

Native integrations

Waze integrates with the device’s native camera functionality as well as the photo storage folder, so users can take and upload photos of current traffic conditions.

Real-time updating and machine learning

As the app collects users’ information about current road conditions, the app will send out alerts via in-app messaging to warn users in the same area about the road hazards. The app then uses machine learning to suggest the fastest, most optimal route based on their current location and destination.

Social integrations

Waze allows its users to connect their Facebook and Instagram to their Waze profile. Via this social integration, users can interact via DMs sent through Waze to either Facebook or Instagram. Through this social media integration, Waze users are able to find their friends in order to give them a ride without leaving the app.

User ratings and reviews

Users are able to rate and review businesses and locations they visited on their road trip, therefore providing other Waze users with useful information in the future. These ratings and reviews would need to be stored in a data table located on a remote server that is accessible to all users.

Ridesharing

Waze does utilize ridesharing, but it does it differently when compared to apps like Uber or Lyft. By utilizing machine learning, this service, dubbed Waze Rider, learns a user’s most frequent routes, and then matches them up with other Waze users, creating a carpool.

Planned drive

Users are able to plan out a drive in advance by entering in their departure and destination, as well as their travel dates. Waze, using machine learning, will then give the user a pre-planned route based on the dates given and time of day. This helps users plan ahead while being sure that the conditions they are planning for will be the ones they actually face.

Google Calendar Synchronization

Waze can sync with a user’s google calendar, automatically creating a list with the user’s appointments for their drive.

Spotify integration

Waze users can integrate their Spotify account so they can listen to music while receiving directions, and can receive directions while listening to music.

All in all, to develop the features listed above into one cohesive app, your total cost would range from $250,000 to $500,000 – this high cost is mainly due to the features that rely on machine learning – AI isn’t cheap. While the development and implementation of an AI enhanced machine learning feature can cost anywhere from $30,000 to $250,000, the other features Waze makes use of still account for a significant portion of the app’s development cost.

It all comes down to maintenance

The true cost of an app like Waze comes after development ends – providing maintenance and updates to your app is a continuous task – and for an app that relies so heavily on real-time updating, server maintenance and optimization will be an ever-growing addition to your budget. These costs are necessary to the longevity of your app, and without updates, your app will soon begin to dwindle.

Want to know how much it costs to update an app? Or, check out how much it costs to implement real-time updates.

Hiring an app agency vs. an app freelancer

What is the more cost effective option; an app development agency, or a freelance app developer? While there’s plenty of pros and cons to assign to either, it is our belief that ultimately, when presented with the entirety of an app’s lifecycle, hiring an app development agency is the better choice.

Why? Because apps are never truly finished products – they exist in a medium that necessitates constant and continuous improvement. When your product exists in a space that sees users demanding the best features, the fastest loading times, and the most up-to-date UI, you need to ensure your app’s code is accessible, modifiable, and organized.

Below, you’ll find the pros of cons of hiring an app development agency versus a freelance app developer, via a comparison of both options throughout each step in the development process:

Finding an agency vs. finding a freelancer

Whether you’re searching for a freelancer or a development agency, you’ll want to begin online – however, do your best to stay away from Google or other search engines.

For freelance app developers, sites like UpWork or Clutch or The Manifest. All of these sites function very similarly; you can search for developers based on certain criteria, and find contact information (whether through the aggregate site or their own) in order to begin the vetting process.

While it’s (usually) easier to find a freelance developer, you’ll find development agencies are (again, usually) more responsive.

Hiring an agency vs. hiring a freelancer

The difference in vetting a freelance app developer versus an app development agency marks where the process starts to noticeably deviate depending on which route you take. You’ll find freelancers’ CVs and portfolios to be very skillset driven – this is because freelance developers tend to specialize in developing one type of app.

App development agencies, on the other hand, will usually focus on presenting potential clients with examples of past projects and experience – this is because agencies employ a team of developers who each specialize in different aspects of app development – this diversity of knowledge allows agencies to work on a wider array of apps.

Agencies rely on steady clients, and therefore tend to take NDAs (and business partnerships in general) more seriously than freelancers – freelancers are, however, more likely to adjust to client demands.

Agency capability vs. freelancer capability

The complexity, scale, and scope of your app will largely determine if freelance development is even a viable option. As previously mentioned, freelancers tend to specialize in developing one type of app: such as eCommerce, productivity, or event apps, for example. Not only does this specialization narrow freelancers’ capabilities to the development of a single type of app, it often means freelancers are only capable of deploying in one environment, and developing for one platform.

Development agencies, however, will make use of the multiple skill sets available to them. These full-stack agencies can create any app, large or small, for any system, and for either platform: Android, or iOS (because Android and iOS utilize different code bases, it is exceedingly rare to find a freelancer capable of developing both Android and iOS apps).

Even when coding for a single platform, programming an app requires two different skillsets – frontend and backend development. For this reason, app agencies will employ programmers for both; frontend developers build out the UI and connect the functionality of the app’s features to the UI. Backend developers program the app’s logic architecture, set-up and implement servers, and connect APIs to their respective endpoints.

Agencies also utilize other tangential skillsets in order to improve the quality of the product that is developed; UI/UX designers create the visual design and flow of the app, providing a roadmap for the frontend developers – QA engineers create test environments in order to throughly analyze the robustness of an app before its initial launch, and project managers ensure every task is completed on time and in order, therefore maintaining a consistent and efficient development schedule.

When you hire a freelance developer, you are relegating all of these tasks onto either the freelancer, yourself, or your company. As an example – while a freelance developer might be efficient at developing the systems necessary for the entire feature set of an eCommerce app, they might not be the best UI/UX designer.

A freelance developer, in this situation, would most likely make use of an app design template (meaning your app will look cookie-cutter) – or run the risk of designing the app themselves – or, if their client was willing to pay for it, bring on a supplemental freelance designer.

Agency app management vs. freelance app management

Due to the nature of their work, freelancers tend to move from client to client very quickly – small projects have quick turn around times. Your app’s lifecycle is neither short or hands-off, however. All apps require updates for aesthetic purposes, improved security, and new feature implementation. Continual analysis of your app’s status via analytics and crash reporting is a necessary task as well – and with every update released by Google Play or the App Store, your app will need to follow suit. Even updates for changes as simple as new screen resolutions require time spent in development.

Agencies have this app lifecycle management structure built in to both their build teams and business model – freelancers generally don’t.

The cost of an agency vs. the cost of a freelancer

For all of the reasons stated above, the lower hourly rate freelancers are known for doesn’t equate to more cost effective development. For a freelancer to successfully develop the entirety of an app, they must have a mastery of a wide array of skills – and when they are lacking in an area of development, must spend time learning said skill, adding to the overall time your app spends in development, and bloating your budget.

Agencies specialize in producing complex apps efficiently; freelancers specialize in client acquisition, not app lifecycle management.

How much does it cost to update an app?

“An app is never finished.”

This quote is un-attributable because almost every app developer has said it – it’s a constant in the world of programming – software isn’t complete until it’s dead. From websites to operating systems, updates are an inescapable necessity.

In fact, it’s safe to assume you’ll spend one-fifth of your total development cost every year updating your app – so if your app cost $50,000 to develop, you can expect to spend about $10,000 a year on updates.

That might sound like a lot of money – and it is. If you want your app to be a top performer in terms of user retention, conversions, and revenue, however, you’ll need to be prepared to absorb the costs associated with updating your app. Based on this graph from SensorTower, you can see the industry average back in 2014 was to update an app well over once a month:

This is a correlation that has only grown in recent years – the most successful apps today release an update one to four times every month.

Why do apps update so frequently? There are a few different answers:

Updates are a form of marketing

Updates are among your strongest marketing tools – right up there with push notifications and proximity marketing. Updates are so powerful because they convey a few messages simultaneously:

  1. Serve as a reminder that your app exists
  2. Inform your users about value added to the app
  3. Provide a free CTA with immediate value for the user

Updates will also create a notification tag on their settings icon – both Android and iOS operating systems are designed to make users aware of their available updates, so users are sure to be made aware of the added value you are giving them.

Finding the right voice and message through push notifications can be incredibly difficult, but updates can be plain and straightforward – they inherently come with free value for the customer.

 

SCHEDULE A CONSULTATION WITH AN APP DEVELOPMENT EXPERT TO GET A CUSTOMIZED QUOTE!

Design and device trends

Keeping up with UI trends is a constant task of not only keeping your sights on what your competitors are doing, but also what the top twenty apps on the App Store or Google Play are doing as well.

This is because the competition in your category might not be staying up to date with their design choices as well – it’s always best to seek out the top performers and study what they’re doing. Keep a close eye on design aspects like:

  • Where buttons are located on the screen
  • Use of negative space
  • Transitions
  • How information is displayed

Design trends are always changing, and users are more likely to abandon an app than they are to stick by its side – if there’s an app out there that does what you do, but looks better, you’ll begin to lose users to it.

For more about keeping up with design trends, check out:

The same goes for device trends – mainly concerning higher screen resolutions. For every new screen size that hits the market, you’ll need to update your app in order to fit on those new devices. Keeping up with these trends is important to the health of your app – early adopters of new device models are usually power users, so if you aren’t catering to their needs, your app’s metrics will begin to drop substantially.

Security

Unfortunately, there will always be someone who is trying to exploit vulnerabilities in your app’s code – especially if your app deals with sensitive user data like payments or personal information. Luckily, updates can help mitigate these risks.

There is no way to build an un-crackable app. No matter what, someone out there will find a way to exploit a previously-unnoticed vulnerability if given enough time. An oft-sought out type of app for hackers to exploit are those that work in eCommerce – so if your app exists in this domain, make sure you are updating your security regularly.

Users take security very seriously. Take, for example, the fallout from Facebook’s Cambridge Analytica scandal: One in ten American users completely deleted their Facebook profile, and a staggering 26% deleted the mobile app from their smartphone.

When payment information is stolen, the response is even stronger. For this reason especially, eCommerce apps must be vigilant when it comes to the security of their users.

Bug Fixing

While the goal of any app is to launch without any bugs, they do sometimes happen. There’s many reasons for this – some bugs appear through situations that would be nearly impossible to test for, such as scalability issues, or new devices coming to market that don’t properly mesh with the code that makes your app run.

It’s a virtual guarantee that eventually, your app will run into a bug – what happens next is up to you. Users are fickle, and will abandon your app if they continue to run into bugs. In order to keep your users, you’ll need to fix the bug as quickly as possible.

New Features

Along with new device and design trends come new features – two big ones right now being location services and real-time updating. A good example is the order tracker popularized by Dominos Pizza. Dominos’ customers became familiar with their order tracker, and then began to expect it on other online ordering platforms.

Now, online food delivery platforms all make use of this order tracker – if they didn’t utilize it, users would abandon their app in favor of one that does. New features mean added value – always plan to add more value.

 

USE OUR APP COST CALCULATOR TO ESTIMATE THE COST TO BUILD YOUR APP!

Show your users you care

What looks better – a website with a regularly updated blog and content, or an obviously three-year-old website that’s still touting an award from 2016? When shown the latter, you’ll probably begin to question if the company is still in operation.

Users want to know the app they are investing their time into is there for the long haul – by updating your app regularly, you implicitly show them that your app is here to stay. It also shows that your app is worth looking at and using – if you care enough to update it, there must surely be value that makes the update worth it.

Updates are a powerful user retention tool – despite their cost, app updates are necessary to your app’s longevity, and publishers stand to loose more by not updating their app than by spending capital in order to do so.

How much does it cost to build an app like UberEats?

How much does it cost to make an app like UberEats? Just like every app, the cost of development comes down to three deciding factors: feature set, time, and hourly rate. If this sounds similar to our last blog, How much does it cost to build an app like Uber?, it’s because this formula is a constant across all apps.

As we also went over in our blog about the cost of developing an app like Uber, the most expensive part of any app is actually post-development. This is due to app marketplace standards dictating the need for developers to provide continuous maintenance and update to an app’s code, infrastructure, and UI.

User retention is key to an app’s success – especially for an app with a business model like UberEats. Let’s look into the feature set that provides the platform for an app like UberEats.

First off, we need to segment the app into four different apps, those being an individual app for the customers, the restaurants, the delivery drivers, and the administrators. It is common practice for apps that require different feature sets to interact with a particular user to have different screen show depending on what the type of user is currently engaging with it – effectively creating individual apps.

To continue using the example from our previous blog, Uber; once a user selects that they are a rider, they are brought to the rider app – the same is true for drivers – once “driver” is selected, they are brought to the driver app. Both of these apps work in tandem with each other, but offer completely different feature sets, and thus show different screens.

As previously stated, an app like UberEats would be split into four different apps:

UberEats’ feature set

Customer app

Register / Log-in

Apps like UberEats make use of a login feature – this means users can save their delivery address, payment, and other info their account, therefore speeding up the process and bringing more value to the user.

Search Menu

For the user side of an app like UberEats, it is absolutely necessary to include a search function. In order for this search function to work, it must be able to search through the individual data points of your backend servers that house your restaurant data – proper logic and organization of your backend system is critical to decrease the time it takes the app to search through these data points.

Cart

A family simple feature, the cart allows users to keep track of what they have already added to their order.

Payment Integration

Payment services give users the ability to pay their driver directly though the app using a credit or debit card, as well as promotional codes – this feature is usually achieved through payment service APIs like Stripe or PayPal.

Order Tracking

Order tracking is a quality-of-life feature users have come to expect in the past few years – in order for this feature to be successfully implemented, a few different features must be used: GPS, and real-time updating.

Rating and Reviews

Users are able to leave ratings and reviews for restaurants that are aggregated in a database that can be remotely accessed by other users – this requires a connection to your backend servers.

UI

The UI is the layer of the app the users interact with; for UberEats’ customers, this would be to order food and put in the necessary delivery and payment info.

Delivery app

Register / Log-in

Delivery drivers use their account to keep track of payments and orders – accounts are also necessary when payments are involved; deliver drivers have their account info and payment info tied digitally together in the app.

Order Management

In order for delivery drivers to keep track of where an order needs to go, they need some way to manage the orders they currently have – in order for an app like UberEats to be able to tell a driver where a specific order must go, it needs to be able to access the backend servers remotely – it also needs access to GPS and mapping, as well as location services and navigation.

Updating of order status

The delivery side of the app must constantly provide the customer with real-time updates as to the driver’s current location – to do this, it must connect to the backend servers and provide location data taken from the app’s GPS, mapping, location services, and navigation features.

Restaurant app

Register / Log-in

Restaurants need to be able to create an account for the app as well – this is so they can update menus and other information as it changes.

Order Management

Restaurants need a way to manage their orders as well – this is put in place so the restaurant doesn’t need to contact the customer with a question; the order management system provides all the details they need to make the order – a feature like this would require sharing data over a remote server between the customer app, the restaurant app, and the delivery app.

Updating the order status

Just like the delivery portion of the app, users have come to expect to be informed as to the current status of their order while it is being prepared – just like the delivery app, this would require real-time updating over a remote server.

Admin app

Admin Log-in

This would function the same as any other log-in feature, but it would provide access to the administration portion of the app.

Restaurant management

This feature would give the administrator access to the data tables that create the organization structure that houses restaurant data – after a restaurant joins the app, the administrator would add their profile here.

Payment management

This feature, which can be achieved through API integration, is necessary to the processing of payments.

The cost of developing this four-in-one food ordering app would range anywhere between $100,000 to $250,000, and sometimes even more. Scale plays a large role in determining the development cost of your app.

Also keep in mind that an app like UberEats that requires the participation of individual businesses has to budget for the acquisition of those businesses. It is easiest to start with smaller, local businesses and move up as your platform gains traction in the market.

UberEats’ tech stack

In the same vein as our previous blog about Uber, UberEats exists mostly on the backend – while the simple UI exudes simplicity, the backend systems required to handle so much real-time updating and data sharing would be both extensive and costly.

Storing and transferring data, whether it happens through physical servers or via the Cloud (which is still stored on physical servers somewhere anyway), is expensive, and requires significant infrastructure and time spent optimizing the organization of data.

In order to create and maintain a stable backend, you must invest significant time and resources – both infrastructure and human.

UberEats’ maintenance and updating costs

The costs of maintaining and updating an app comes down to the total collective salary of your entire development team.

This cost is necessary to an app like UberEats, however – only the best apps stay on top. In fact, the average mobile user in the US will spend 90% of their time engaging with their personal top five apps.

UberEats knows what keeps their app in users’ personal top five apps is the experience it provides – and this is why they spend so much money maintaining and updating their app. If their servers are unresponsive, or provide outdated data, users will move on to a different app without these issues. If their app doesn’t keep up design trends and new device screen resolutions, users will, again, abandon their app in favor of one that does.

An app is never finished

This is why the cost of developing one never has a set number – the longer your app is around, the more money you will spend on it – but these should be measured against the lifetime profit of your app.

While the coding and design of your app’s feature set are one-time investments, keeping your backend running and your frontend up-to-snuff will constitute continual, regular costs, as they are necessary to maintaining and increasing your app’s user retention.