#4: The coding gap

Get started on coding

During the last 10 days, I investigated what it could take to move a micro-SaaS from a no-code to a coded prototype.

While no-code is great, it does not offer the same flexibility as a full fledged coded SaaS. And in my case, doing a real SaaS with n8n was simply not possible. I understand other tools, like Bubble.io can support this though. Yet, rather than porting to Bubble, I opted to move to a coded version.

But the gap is, frankly, pretty big.

What I did

Since I hadn’t programmed for, like, 25 years, I took upon me to get up to speed with various techniques:

  • Bought a book “Javascript for dummies” to at least learn the main elements of the coding evolution

  • Downloaded a few open source software to try to understand what’s going on, with the help of Gemini (new brand for Google AI), and Chat GPT. It’s actually quite impressive to use when you are stuck on something. It’s less effective to actually build code (yet)

  • Got familiar with key developer tools: installed a (semi) virtual machine (Linux) on my PC (brought back old memories using a command line terminal), learned a bit about Git (a tool to manage versions of codes), package management (npm, to manage various libraries), etc

  • I’ve tried to get started with an open source SaaS “boilerplate” (ie the foundation of a SaaS) using Wasp, some generic framework language and ready-to-use code to accelerate development. Honestly, what I was hoping was going to make my life easier made it harder. The problem with those framework is that the code required to get going is smaller but it’s still hard to read, not mentioning about writing - and for me it was a bridge too far.

  • So, I bought a boiler plate on the Web from a famous “indie hacker”, Marc Lou, called Shipfa.st , and another from boilercode.co (Chrome extension). All based on node.js + next.js.

  • On the database side, I got familiar with Prisma, Postgrest SQL, supabase (a kind of open source version of Firebase for those who know), and now I am finally moving to Mongo DB.

Yet, despite my (old) background, I found it really hard to simply get going. While I would have hoped to getting things simpler over the years, they got harder.

Why it’s hard

First, there a lot more choices to be done than in the past when it comes to developing:

  • Database: Prisma/Postgrest SQL (relational db), Mongo DB (document db), etc. Plus: hosted and how ?

  • Back-end (ie managing interactions with the database and other services): Node.js (Javascript framework) seems to be a classical choice

  • Front-end (ie managing the experience on the browser). Javascript, right ? Except that there are lots of frameworks you need to choose from. Many use now React, with special flavors like Vue, Next, etc. Each of those frameworks are making things easy…once you passed the learning curve because they all have their own way of doing things, even with some special syntax. Then some people code in Typescript, which is a kind of Javascript variant.

  • Other: hosting & deployment (with Vercel, fly, etc.), services, design tools, etc.

A quick note on the front-end complexity: back in the times, where all software was installed locally, things were easier: you “painted” the interface, add event logic to the buttons to call some functions, and that was it. The problem started when we decided to use what was initially built as a tool (the browser) to read static documents (based on HTML), but instead to do software with it. So it all evolved organically to twist the browser and make it work for this too.

Second, I found the syntax even more challenging, which makes the whole process of understanding code harder.

Last, in today’s world, very few SaaS work in isolation. This means you need to understand how to configure and interact with Google (For signing up with Google or integrating with Gmail), Chrome (to do an extension), OpenAI (AI use), Stripe (for payments), etc. Boilerplates (ie foundation templates) help but you usually need to twist them.

Ideally, it would be great to start with no-code and have the tool generate code so that you can have all the flexibility to move on.

If you have zero programming background, I think it’s probably a 2-3 months learning curve (at minimum) you’re facing to really start “full stack”. For me, I hope to keep it under a month. In any case, the idea is to get extra support from a developer also + full AI + books and obviously Google search.

Yet, despite all hardship, it’s great to see the progress and joy of actually “building something”. But it’s not easy (yet). I expect that in the coming months/year, we’ll be able to build a full SaaS by just talking to an AI. But even then, doing this without a clear understanding of how code and algorithms work would be perilous.

But, you know, things don’t happen overnight. It takes years to master a craft, and learning how to code is still better than watching Netflix. Right?

Right ? ;-)