The landscape for creating digital solutions has never been more accessible. What was once a field that required the skills of an expert to navigate is now populated with tools that allow you to build solutions in a matter of minutes.
As entrepreneurs in this space, we're in a unique position to validate ideas quickly and efficiently. However, it does beg the question: when should we reach for no-code tools vs. custom coded solutions? Both have perceived benefits and costs, but are there universal indicators we can look for that can guide us when deciding?
I thought about this for a while and even did some posting on Product Hunt and Indie Hackers to see if folks had thoughts, and there are three key factors that consistently emerged when considering this problem.
1. Money Money Money... Money
This seems like the elephant in the room so might as well talk about it: engineering resources are expensiveeeee. For new products, engineering resources can soak up a lot of runway. Avoiding this upfront cost, can be the difference between a company surviving past their first year. With the advent of no-code folks can now deliver MVPs and validate product market fit before committing to the investment of hiring a full-time engineer.
While no-code does a good job abstracting a lot of the complexities of programming there are still problems that require custom solutions. Conversely, sometimes the learning investment of figuring out a no-code tool outweighs the speed in which we can hire or code something ourselves.
In either of these instances, I often will try to map out the most fundamental interaction I want a user to have on a web app or website and allow that to guide my decision. For example, we recently built an internal CRM using ChatGPT, Airtable and GMail. In doing so, we initially thought about custom coding this in Laravel. But, when we began mapping the stages we discovered that everything we wanted already existed in its own services and it would save us a significant amount of time to implement it via Zapier.
Alternatively, I recently designed a super simple site in Framer. At first, I loved Framer for this project, but I found myself growing increasingly frustrated with some of the complexities with image sizing and responsiveness. Because of the simplicity of the site designs it was easier for me to spin up a fully coded version rather than pursue the no-code option.
There's no pure science here, but the experience of trial and error has allowed me to better hedge what types of problems are better served with no-code tools vs. coded.
3. Data storage and future migrations
The last consideration is upfront data storage vs. future data migrations. Migrating live data is always an arduous task. Opting to go with no-code solutions upfront can leave us exposed to a gnarly data migration later down the line. This can be an intimidating deterrent to no-code solutions, but I don't think it should be for two primary reasons.
First, no-code solutions allow us to validate problems. I'd rather leverage no-code solutions to discover and validate a problem versus delaying that learning cycle by paying for a more future proof solution. Frankly, we don't even know if we'll have a future without validating!
Second, data migrations are annoying but they happen daily, even in coded projects. Once you're ready to pay for good engineers they are ready and prepared to handle complex data migrations. Don't let that deter you from getting a product into the world.
When evaluating no-code vs coded solutions there are many more variables we could consider when picking an option. Ultimately, your objective should be to deliver a usable solution so that you can learn from it and continue to refine your offering to external customers or your internal team.
Doing this without hemorrhaging your runway and positioning it in a sustainable way to grow are the top priorities.