There are a few questions I get asked repeatedly from friends who are trying to get an app built using a dev shop in India. Dev shops are consulting businesses that take your requirements and build out an app for you. They’re very cost effective when you are careful in execution.
Dev shops are best suited for individuals and companies who’s primary focus is not the technology itself. Rather, their business drives most value from what the technology enables. Like, e-commerce, courses, consulting. It is bad if you are trying to build an innovative social network like say SnapChat. In cases where you will be iterating a lot and experimenting new things on your app, you should consider building it yourself or hire someone to do it in-house.
What Technology should I use?
There is no one-answer-fits-all for this. Technology chosen is a function of personal choice. It is possible to create a great product using an out-dated technology.
However, I’ll not disappoint you. I will give you an answer. The answer here is not a direct indicator to technology itself, but a proxy to judge good dev shops. Good dev shops use the latest greatest. A dev shop that’s ahead of the curve on technology, might also be a good bet in terms of working with them.
Lot of dev shops charge you double the price saying “we need to build different apps for iOS and Android”.
Except for a few very special cases like graphics intensive games, there is really no good reason for making a separate app for each.
Technologies exist that help you launch the same app to iOS and Android.
The best such technology today is Flutter. It is developed by Google, released in 2017 – but got stable in late 2019. Relatively new, but fast improving.
A close second is React Native. Developed by Facebook in 2015. It has been around for longer. There is much higher community support, meaning development speeds are much faster, at the cost of bloated app sizes.
Whether Flutter or React Native, both are good front end options. You should never have to pay for 2 apps anymore. Any dev shop that charges for 2 apps, is way behind the curve. Tells you something about the quality of their work.
There are two considerations with respect to backend technologies.
There are 2 basic architectures. Server based and serverless. Server based is where you would run a server on the cloud like Google Cloud, Amazon Web Services or Azure. These are called VMs (Virtual Machines). They’re out dated and cost ineffective especially for simple use cases with unknown traffic.
Serverless computing doesn’t run a server. Most of the applications can be run using Serverless architecture. The advantage here is, serverless handles high traffic without needing to do anything extra. If you have very little traffic, you pay very little. Many times 0. The kinds of situations where Serverless doesn’t work is if you need to do some file processing that takes more than 10-20 minutes on a regular computer. Serverless is a great option when you don’ t know how much traffic you are going to get yet. You might want to move away from serverless when you have a scale of over 1M users a day – spread evenly through the day without spikes.
The best serverless provider as of today is Amazon Web Services.
Be weary of dev shops suggesting PHP for the backend framework. Not to say PHP is a bad technology. But it is old and most dev shops use PHP because they’ve been using it for years. Which usually means, they don’t adapt to the latest functionalities of PHP. So PHP is a red flag suggesting that this dev shop isn’t bothered about the modern options available.
.NET & Java are poisonous. Stay away from people using these. Most people using .NET/Java are using a 10-15 year old product. Improvements in .NET/Java have been disappointing over the decades especially for backend.
Node.js is the most important framework. A dev shop using Node.js is a good signal because, using Node.js is very different from the way they’d have used PHP and .NET in their past. If they’ve transitioned to Node.js, its an encouraging signal.
Rails is a far second. But is a technology that seems to be improving fast. I would need a really good reason to believe a dev shop that uses Rails. But unlike .NET or Java, I’ll atleast hear them out.
Most people still use MySQL. That’s kryptonite. Run.
If someone is using MySQL, they haven’t learnt new technologies in the last 10 years. Which, in continuation to my theme, is a way to detect bad dev shops.
You need someone using NoSQL. This usually means something like DynamoDB or MongoDB. This is a new paradigm in software, and works great for a lot of situations.
If your product needs SQL (very rarely so), you need the shop to use something that scales better and doesn’t get corrupted like MySQL. Redshift, Cassandra are decent options. But make sure you don’t get convinced for a SQL database without consulting a technologist.
This is the biggest pain point. If you aren’t from a technology background it is impossible to judge the amount of effort for your product.
However, for a simple ecommerce app with the front end, backend and an admin portal to add your goods – you should be ready to shell out Rs. 8-10 lacs for an average dev shop. For good ones, you’re looking at 15-20 lacs.
It’s expensive I know. That’s the dev shop business. If you had an in-house developer, you can get it built at a much lesser price.
Another big problem in this ecosystem are cheats. A lot of dev shops force their developers to ship bugs in your product. So, that way you will have to come back to them to get it fixed. The bigger the app has gotten, more they charge to fix it. They know you’ll have to get it fixed and they’re the only ones who can fix it.
I’ve seen friends spend more than 2lacs within the first month of launch.
When negotiating the terms, please make sure you have the source code handed over to you at no additional cost. Many dev shops charge you extra for giving the source code. If they give you the source code, you can go to anyone for improvements or bug fixes. They usually want monopoly – so that they can charge you again and again.
A major cost for anyone launching an app after getting it built is the server costs. Most shops don’t tell you how much that will cost. You must ask them for it and ask for a written guarantee. Bad dev shops will build technology at a low price but will have huge server bills. Many times, 10x the amount you should actually be paying for a well made backend. The wrong framework and wrong database usually is 50% of the problem. The rest is how well / badly the code is written.
If you have videos on your app, and about 10,000 users, your server bills may range between Rs. 50-80k per month. If you have live streaming you’re looking at Rs. 5-6 lacs per month.
Whom do I recommend?
As of today, I don’t recommend any dev shop. For most usecases, there exist Software as a Service that helps you launch great quality for a fraction of the cost.
- For ecommerce – shopify.com
- For teaching – teachable.com
- For videos, courses and community – socionity.com
Disclaimer : I work for Socionity
That said, there are some really good dev shops out there.
With the mentioned points in mind, you’re safer than you were before. Neither does this guarantee you’ll not get conned, nor does it mean you’d get a great product. But, you’ll be in a position to make a better decision.
We write a lot about the best decisions for your digital business and help you take the right decisions. You should follow us. It’s good.