If you are a user of low-code tools, ask yourself: Why are you not coding? The answer is likely (and it was for me for a long time) two-fold: I don't have time to learn to code, I simply want to build a product. And b) I am much faster with low-code than with "traditional" code. In the video I talk about why both answers no longer hold. And why you may want to consider to switch.
Simple: AI happened. Unexpectedly AI is the harbinger of the end of visual development tools for product development. Because it takes away the one advantage that justified the trade-offs one makes when using low-code tools. And that is (was) speed. So let's start with the disadvantages of low-code and concurrently the advantages of going "full code".
You've probably been there. The first 80-90% of your low-code project are relatively straightforward. But then you hit the ceiling of functionality, beyond which things are extremely time-consuming to implement. You use hacky workarounds, either in the visual editor or - if you are using a decent low-code tool - by adding custom code. That is the point at which your speed advantage goes away. Because you are progressing only by trial and error. Documentation is often not existant, forum entries scarce, you cannot look under the bonnet, i. e. the underlying codebase, and AI cannot help you either (more on that shortly).
Example: You built an awesome page with Webflow. A while later your client wants to add the ability to show some dynamic information on it. Now you can either add some code (basically dabble around in jQuery) or use an additional tool like Wized. And hope your client doesn't ask for more in the future.
That's not going to happen to you (as quickly - anything has a ceiling) with choosing a full-code approach.
AI works best with text. That is why it is great at writing code. Because code, in the end, is just text.
To do so the AI needs access to the codebase. If you write code yourself in a code editor (such as Cursor) then that is no problem. With low-code tools the codebase is not readily available, due to some or all of the following reasons:
You simply cannot export the code. Don't touch these tools. I don't even really consider them low-code tools.
The code you export is unnecessarily complicated and/or littered with oddities that were added by the low-code tool. This bloated output is not only hard for you to decipher, but also for the AI.
And lastly, if you managed to make the code work, it is hard or impossible to push the code back into the low-code tool. The only tool in my knowledge that partially let's you do so is FlutterFlow -
here's a guide to it.
In short. Not only do you have to give away most or all of the speed advantage on customisation and more complex matters as discussed in the previous point. You are further missing out on the speed advantage of AI-generated code. And that can be a huge speed advantage.
No one want to miss out on AI. So Low-Code tools all have some. But in the end few of them are useful. Almost all of them are gimmicky. Be honest: in the end you do not really use them. So not only are you missing out on the latest AI advancements, but the tools that are provided to you and that have to come with a delay are not the real deal.
If you use GitHub CoPilot or Cursor you know that the generated code can be a timesaver, but that the AI is prone to hallucination. It adds and removes code that you needed and the code it generates may be unnecessarily complicated. Worst of all, AI can be prompted into a "valley of death". It adds a breaking change that it does not understand itself and cannot get itself out of. If you do not know how to code and to fix it you are lost.
So the only way to really profit from AI-generated code is to know how to code to be able to evaluate what the AI does and to correct its mistakes. Ergo, by using low-code tools you are not learning how to code and therefore are not likely to ever get yourself into a situation at which you can profit from the newest advances.
I'll keep it short for this one. You can look under the hood of a traditionally coded application. You can't with Low-Code tools. It is often much harder to find out why exactly something is going wrong. Again, this happens more with more complex projects and this eats into you speed advantage.
And even if you can look at the generated code like in FlutterFlow, you will find that it is in a bloated state and difficult to interact with (for more detail see the previous paragraphs).
Low-code grew in the past years due to its promise of speed. And you may have grown with it, becoming one of those people who are very good at tackling those complex issues the tool poses. But look around you. Judging by Google search trends alone, the demand is slowing down. And that decreases the market you can serve. And on top of that you or your product are wholly dependant on the whims of the makers of the tool. If it does badly, you will too. If it goes, so does your expertise.
Example: Webflow announced in the end of 2024 to move away from offering solutions like user management. Time to replace that functionality: 5 months. Not great.
Now, granted, the same could happen with code. The framework you love may no longer be as big. But you learnt the underlying code. You grew with a much bigger market. It is much easier for you to move to a different framework if need be.
Plus, many frameworks are actually open-source. And due to much larger communities have a much better chance of being continuously maintained.
Tools cost money. The more features you use the more expensive they become. And the moment a low-code company decides to change their pricing policy (cough Bubble.io) you and your clients might be in for a surprise.
With code you can go open-source. The only thing you have to worry about is hosting and the domain. You don't have to pay to be able to use a blog (cough Webflow). You do not have to pay extra for for e-commery or users. You do not have to pay extra for i18n.
And yes, these price tags may not be too large, but they rack up.
One thing I hoped to have established is that Low-code was once a valid approach, but it's advantage no longer holds. So now you have to learn how to code. But won't that take forever?
Well, no. If you do it right.
If you are experienced at using low-code tools and are already enhancing it's capabilities with code, you are ready to go and you will be fast to pick up everything. Why? Because having created products was not for nothing. You know what parts you need, how everything fits together. You know how an API works, what is a good database structure, how logic works.
Now, what about someone who is not that far? I'd say go with full-code nonetheless, because it is a really valuable skill and you do not want to waste any time. Just know that it will take longer. Still it will not take as long as you thought.
When you start to learn get yourself an AI code editor that let's you easily access AI. I like Cursor.
Now you just have to be disciplined enough to ask. Ask anything you don't understand. Select a line of code and tell the AI to re-explain it as many times as you need it. AI is a great tutor. And before you know it you understand the relevant elementary concepts of your new "tool", i. e. coding language.
Just make sure of one thing: ask AI about things you don't understand, but do not let it write your code. You will not learn by having code generated. I know it is tempting to take a shortcut, but avoid it. Otherwise you waste time in the long-run.
You have been told many times that it will take forever to get things set up to get anything online. That is simply not true. There are many frameworks that take care of a lot of the setup. Take Next.js and the ability to host on Vercel for example. To get a site up and running it takes you literally a single-digit amount of minutes.
And for any routine things to set up. Set them up once yourself so you know how it's done, but afterwards feel free to use one of the many boilerplates out there.
There is no time difference of getting started between low-code and full code. Period.
You do not need a 30 hour Udemy course. You don't need to spend a lot of money. You can do it for free. What you need to do is to get started building a simple product you need for yourself. That's the fastest way to learn, because you are motivated by creating something you need yourself.
You just need to get your hands dirty.
Making the shift to full-code doesn’t mean abandoning everything you’ve learned with low-code platforms. Instead, it’s about building on that foundation and taking control of your projects in a way that low-code just doesn’t allow.
To get started here are some resources that helped me get started on learning Typescript, React and Next.js.
NetNinja: He's got a plethora of courses. To get started I recommend you check out the
YouTube Previews
that are comprised of the first few videos of the course.
Next.js official course: Also includes a refresher on React. Simply a great tutorial to learn all the important parts.
Get started here.
Web Dev Simplified YouTube channel: This guy is a tremendous teacher of complex concepts. He also has some longer YouTube tutorials where he builds full products.
Get started here.
Stick with the docs: I mean it. Focus and read the docs. You will not understand everything, but reading is often faster than listening.
That's pretty much all I needed to get started. After this just honker down in your first project. And keep away from letting AI generate all your code! At least in the beginning!