While you may be able to get a pre-built website for your small business for under $5k if you're in the market for a custom built software solution the expenses can be far far above that number.
Just to build out a minimum viable product (MVP) the cost can be as high as $500k in some cases.
This is an extreme example, but goes to show that there is quite a bit of variance.
This cost is justified when you consider the time and effort that it takes to build custom software. Keep in mind that you're asking for months of a developers time.
Generally speaking the best case scenario for an MVP is that it takes one or two developers 4 months of full-time work.
And, to hire an experience developer typically costs between $80 - $300 / hr.
So you can expect a MVP to cost about $50k on the low end.
It's expensive, but as Red Adair said:
So let's assume that you've paid out the $50k for you MVP and it's working well.
You've got a few people starting to use your product and things are going well.
You're beta users give you some feedback and they say that they want some more features.
Now you'll have to make the decision between pocketing out more money for features or spending money on marketing.
You'll have to be honest with yourself. Does the web application solve the intended problem well enough?
The answer is solely up to you, but one way or the other you'll have to consider marketing as an expense and if you want you're product to go anywhere you'll have to be able to spend a substantial amount to get it off the ground. Very very few products sell themselves.
One example that comes to mind is Tesla... but wait, Elon Musk is the salesman so not even a Tesla would sell itself.
The way I see it, you'll have to spend quite a bit of either time or money on selling your product and you'll have to have a high enough margin built into the sale of that product to afford the time or money that you're going to spend on selling it.
You may be wondering how are you going to raise funding for all of this? That's a tough question. Either you have a large trust fund or you'll have to find some people that believe in your business.
The latter is the most likely option.
Also, you'll have to be willing to part with a good chunk of equity. Of course you should be cautious with how much equity you end up selling, but you'll have to give up something if you want you're startup to go anywhere soon.
So now you've gotten you're baby off the ground. It's gaining traction and you're users are staying.
Now is the point where you'll need to save some money for maintenance.
Keeping the website up and running isn't cheap. Software isn't something that you write once and it's good forever.
Think of software as a home:
Maybe there is a bug that wasn't found until you have 100+ users.
Maybe you're API isn't handling requests asynchronously like expected and you now have to figure out what the problem is.
Problems will pop-up and you should expect to have to pay for ongoing maintenance. Some people say that a good number to expect is 20% of the project cost will be spent in yearly maintenance.
Personally I haven't seen it to be that high, but it's better to be safe then sorry.
The good news is that if you decide to build your product on the web instead of mobile you won't have to go through this process twice for both iOS and Android.
So it may make sense to cut costs by starting out on the web, and it may also make sense to consider transitioning to mobile using a Progressive Web App (PWA)
A PWA can be downloaded just like an app and saved to the home screen or desktop. It uses the browsers rendering engine in the background so that very little new code needs to be written for it to work.
It's basically a website that opens up by clicking on the icon saved to your phones home screen, and it takes very little extra code to make this happen (just a couple hours or work).
To make the experience on par with an actual app will take more than just a few hours, but the initial step towards making it an app is actually quite simple.
There are some limitations since it's fairly new, but the industry is trending that way and before long I believe it will be able to deliver a user experience that can beat even the best natively written apps.
So the extra cost that wasn't explicitly mentioned was the cost to build your web application for mobile. And no I don't mean making the web experience responsive or mobile friendly. That should be something that every developer thinks about without even being asked to.
I'm talking about the cost to build a separate app for iOS or Android. This is a step that many companies consider to be essential to their product or service. For example, where would Netflix be without their natively built app.
The cost to build for iOS and Android is very similar to web. You can expect it to take roughly the same amount of time to develop the Android version as it would to develop the web version and the same goes for iOS. That means you'll be paying double for the experience to be natively on mobile.
A cheaper alternative is to build using React Native or Flutter. Both allow developers to write a single code base for both iOS and Android saving both time and money.
So now let's imagine that you've got hundreds of thousands of users. You've built for both web and mobile and you've spent millions on both development and maintenance.
Are there any more hidden costs to be aware of?
Not that I'm aware of... which brings me to my last point: you don't know what you don't know.
If you're building something that's never been built before then you should expect the unexpected. Research and development is a tough nut to crack. It's like asking, "When will we discover fusion?" I don't know... But, you can throw a couple million at it and hope for the best.
This is an extreme example but illustrates that sometimes it can be difficult to predict the final cost.
That being said a good development company will help you understand the costs involved and will help guide you through the best route toward success.
In most cases the budget can be estimated within a reasonable margin of error and both the client and the development company end up living happily ever after.
PS: I'm trying out a less formal style of writing. Let me know what you think in the comments!