I’ve been a professional iOS developer for several years now and have built some of my own apps. When I was first starting out, I wanted to know how much it would cost me to bring my idea to the app store.
How much does it cost to make an app yourself? Making a mobile app yourself can cost as little as $99 USD. The cost depends on the equipment you currently own and your experience as a software developer. Time will be the biggest cost of developing a mobile application.
In this article, I’ll discuss how these different factors will change the cost of developing a mobile application yourself. As with most costs, it will vary greatly depending on your personal situation.
The cost of developing a mobile application can be broken into a couple different categories:
For equipment, you’ll need a computer or laptop. If you already own one, it should be sufficient. Ideally, you’d like to develop on a MacOS computer, but it is possible to develop on a Windows or Linux machine. If you need to purchase a machine, you’re looking at around $1000 USD for a new Mac machine.
The next piece of equipment you’ll need is a mobile device. Most people already own a mobile device so this shouldn’t be a problem. You can avoid using a mobile device by testing and developing only on simulators, however, this can lead to unexpected bugs on a real device. Mobile devices can start as low as $200.
You’ll also need to consider if you’d like to develop an app that works on tablets. If you decide you’d like to develop for tablets as well, you’ll need a physical tablet as well. Of course, just like the mobile phone, you can use a simulator instead. Tablets also start around $200.
Education or software development skills is the next thing you’ll need to develop a mobile application. It’s exciting to live in a time where all the information you’ll need to develop an iOS can be found online for free. For most people, learning online should be sufficient. Thus, the educational cost of learning to develop an app online should be $0-500. You can opt to buy a course or join a local class which may speed up your learning.
Development time will be by far your biggest cost. Development is a slow and long process. For extremely complicated apps, it could take months or even years. It’s important to be aware of how long your project could take. Be prepared to commit a sizeable chunk of your time to coding.
Hiring costs are something you should also consider. If you plan to hire an engineering firm to develop your entire application, this could cost thousands and thousands of dollars. I also don’t think its a good idea, and you should find a technical co-founder instead if this is the route you’re looking to pursue. However, if you hire an additional developer to help you out when the app needs more people, you need to be able to pay this salary as well.
For your computer, I’d recommend a MacBook Pro. MacBook Pros cost anywhere between $1300 to $3000 USD. It’s a great laptop for developing apps and I’ve used one for most of my career. The current MacBook Pro I’m using has the following specifications:
If you don’t already own a Mac computer, this can be a huge cost if you’re looking to develop iOS applications. There are cheaper options thankfully. The Mac Mini is a more budget friendly option starting at just $799 USD and Apple offers financing options as well.
You can also look at buying a pre-used mac machine from sites such as eBay or Craigslist. Amazon also sells refurbished machines at discounted prices as well.
If you’re looking to just develop on Android or are technically savvy, you can use a Windows machine to develop mobile applications. To use a Windows machine to develop iOS applications, you’ll need to either make a Hackintosh or rent a virtualized Mac.
Using an existing machine you own could save you a significant amount of capital and make your costs very low.
You’ll require a mobile device to test your application and its changes. Luckily most people own a mobile device, so this cost to you should be minimal. iPhones cost around $700 USD and up. I use an iPhone X for testing my mobile applications.
If you’d like to release your application to tablets as well as mobile phones, you’ll need a tablet to test on as well. From Apple, iPads cost around $500 and up.
In order to build a mobile application you’ll be required to learn iOS or Android development. If you’re already a software engineer or have some experience coding, you should be able to learn everything you need for free online. In today’s world, all the information you need to build an app can be found on Apple’s/Google’s website, through development blogs or even on YouTube. Education has become very accessible for anybody that has internet connection.
Although you can learn by yourself for free online, signing up for a structured course or getting coaching could shorten your learning time greatly. I learned software engineering through my university degree as well as on the job. The teaching assistants during my university program were invaluable and helped me get past roadblocks or concepts I didn’t understand a lot faster than I would have been able to on my own.
When I got my first software internships in Silicon Valley, I was always assigned a mentor or “buddy”. This person was extremely helpful for me when I had questions regarding anything from debugging code to thinking about the overall design of my app. I’ve been lucky to give back and have had a few interns myself.
If you have any friends that are software engineers or can code, be sure to reach out for coffee. They can help you understand code problems a lot faster. As long as you’re respectful of their time, I’m sure they’ll be glad to help.
Structured courses can cost anywhere from $50 to several thousands of dollars. Getting a coach can cost anywhere from a cup of coffee to hundreds of dollars per hour. A college degree in computer science or software engineering could cost up to $100k or more (this isn’t required!).
Development time will be by far your largest cost. If you’re working for yourself, you have to judge how much your own time is worth. Although technically it is “free” to you, this could be hundreds of dollars of your own time. This is time you could have spent doing other things, such as hanging out with friends and family or even going out and partying.
If you’re new to software engineering it will be difficult to correctly estimate how long your app will take. Do not worry, everybody starts off like this and over time you’ll become more and more accurate with your work estimates.
I recommend to break up your project into small manageable chunks that are one day of work or less. The more parts you can break up your project into, the easier it will be to estimate.
The simplest applications can take a weekend, while larger mobile applications can take months and even an entire year. Be sure you know what level of time commitment you make before embarking on your journey. It’s better to make an app with a smaller set of features and finish it than to have a half finished large application.
You’ll need to sign up for the developer program from Apple or Google if you’d like to release your application to the public. If you just want to release it to your own friends and family, then this is not necessary.
The cost of individual developer license from Apple is $99 to release on the App Store. The cost of a developer license from Google is $25 to release on the Play Store.
If you’re a company with many software engineers, an enterprise license from Apple costs $299.
Assets costs will include the cost of logos, graphics and even full app templates. You can build all of these yourselves and save the money, but of course you will pay with your time.
You can get a lot of these assets from sites such as Fiverr.com or hire a graphic design from Upwork.com.
Logos and app icons can cost anywhere from $5 to $300. This pricing is similar for most graphic design work.
App templates will cost anywhere between $50 to $200. This templates can save you a lot of time for very common screens such as login screens or setting screens. If you’re app is not super complicated, this could save you a significant amount of time, making the cost worth it.
If you choose to design your own graphic assets, you’ll still need to pay for the cost of the graphic software. Photoshop from Adobe costs $20.99 a month. To get all the software products offered by Adobe, it will cost $52.99 a month.
You may also require sound assets from composers or musicians. This is common in mobile game apps. Music and sound effects can cost anywhere from $5-$500. You can buy music from sites such as PremiumBeat.com or you can contact artists directly and negotiate for the price.
Most applications will require some sort of backend server to communicate to. This is required if you want to store user information or access other APIs on the internet. You will need a server for your app to communicate with to save and load data from a database as well.
There are many different options for server hosting. DigitalOcean is a popular choice for virtualized private servers. They offer servers starting at $5 a month to $100 a month.
There are also services dedicated to providing backend services to mobile applications. These are called mobile backends as a service (MBAAS). Google offers a solution called Firebase, Amazon offers a service called AWS Mobile Hub and Apple offers CloudKit. Most of these services offer a free plan for apps just starting out and charge by usage as your app grows in userbase.
There are additional services that you may consider adding to make your application better.
A popular service is called Fabric which includes a service called Crashlytics. This allows you monitor when your app crashes so you can hot-fix these bugs quickly before they affect your entire user base. I’ve used this at multiple companies.
User insights is another tool people invest in. Mixpanel is a great tool for event-based monitoring of user behavior. With this data, you’ll be able to make better decisions on what features to improve or build next. This will also allow you to run A/B split testings, in order to try out new features.
Direct customer feedback is another feature you may want in your application. You could build this out yourself as well but there are companies that offer this service. Apptentive is a company that offers direct customer feedback as a service.
Most of these services are free when starting out and charge you as your user base grows in size. Again, all of these are optional and you may opt to use none of them.
Hiring developers is expensive. I recommend avoiding this option as long as you can. Developer salaries can range from $50k to $200k depending on the experience and the city you are hiring from. You may find that as your application becomes more complex, you’ll need to hire some help.
I don’t think it is a good idea to have an idea and pay a developer to build it. This will cost you far too much time and money, as the development firm will charge for every single change you require. It’s better to find a technical co-founder or a developer that owns part of the company. This way the developer will care more about the product and be able to work at a heavily discounted rate.
Where can I hire a developer? You find them on sites such as upwork.com or by posting a local job on Craigslist.
How long will it take to learn iOS development? This depends on your current experience and how hard you work at it. Check out this article on it here.
What kind of app should I build as a beginner? You should build something you’re passionate about. The passion will help you stay motivated through the ups and downs of app development.