I’ve been noodling on the idea of creating my own “no-code map” (after Ben released his
). Given how hot the space is, everyone’s trying to position themselves as a no-code tool.
But what is user generated software? How does one define it? Is it by lines of code saved? If so, well we can give the title to Mailchimp
as the ultimate no-code tool. Billions of emails that would otherwise have to be hand coded in HTML! But we can all agree that Mailchimp isn’t what comes to mind when we think of user generated software.
I believe the best way to categorize and think about no-code is actually by reverting to development lingo. We can use what we’re trying to abstract as the basis for categorization.
To create an app (and when I say app, I mean something you use on a browser to enable work – not necessarily an app you go out and sell), you have four large components: a database for your information, business logic to transform that information, front-end for that the end user sees and utilities for everything else. By using what the different tools abstract (and enable non-technical users to configure and use) is, I find, the best way to categorize no-code tools. Here’s how I’m thinking about it:
Databases (or sometimes loosely referred to, maybe wrongly, as a backend) are where you store information that is then retrieved by different end users. In development world, there are a whole host of databases: SQL, noSQL, MongoDB, Firebase and many others.
The databases I would consider no-code are those that can be configured and used by an end user. This is different from the development world where a database can only be configured by someone with technical knowledge and data within it can only be retrieved by executing code.
Here I’d consider Google sheets, Airtable
, Microsoft Access
. These tools allow end users to create their own data structure and then retrieve that information (either through the tool or via other end user facing layers) without code.
Business logic is what encodes your workflow. It’s the logic that takes your database’s information and makes it useful to the end user for their specific work. This could be calculating the sales tax for a certain good or ensuring that a user’s information ends up in the right database. Business logic is the transformation of your database.
In no-code world that can take many forms. Zapier
etc.) is probably the biggest and most known player here. It lets you take information from one tool to another while adding some logic in between. But logic can also live within tools themselves. Using a formula within Google sheets, Notion or Airtable is no different so I’d include those tools in here as well. Especially Airtable which now includes automations.
The front-end is what the end user sees and manipulates.
In the development world, there’s a distinction between front-end and databases because to access the database requires a coding layer. There is no “front-end” to the database. The front-end’s purpose is to show the relevant part of the database to the end user.
In the no-code world, every database has a front-end. It’s configured and often used by the end user so it has to contain a front-end from which the end user can configure the tool.
For the purposes of this mapping, I’d put in this category any tool that lets you take a database and turn it into a format that is relevant to the end user.
. All tools that surface relevant information from a database in different (and often much more consumable) ways.
Utilities is… everything else! It’s what’s necessary for an app to function! It could be sending emails via Mailchimp, taking payment via Stripe or any other focussed vertical tool that integrates nicely with the your stack.
When I put it all together, I get this diagram.