Build software without coding
Written on 27 April 2020
The rise of no-code software has enabled us to build websites without coding. I have personally experienced this at Buffer where we, non-technical marketers, have been able to build new marketing pages quickly ourselves. In the past, we had to ask engineers for help and it was a long process.
Now, that's great. What if we take it some step further?
Can we build software and apps without coding?
I think yes.
I learned that two simple coding concepts can enable us to build a myriad of wonderful things:
- If-else
- CRUD (Create, Read, Update, Delete)
How would users build?
Here's how we can use the two concepts to build:
For each interactive element within the app, we can use combine if-else with an action. For example, if this button is clicked, create a new post.

Besides "clicked", the button could be "moved", "hovered on", etc.
Besides "create", we could "read" (or show), "update" (or edit), and "delete". We could also "show" or "hide" modals and "go" to certain pages.
Each element could have more than one if-else rule so that it can do multiple things (e.g. create a new object and close modal).
How about the backend?
Instead of using a SQL database or a JSON tree to store data, I like Cloud Firestore's approach: collections of documents. To make it more user-friendly, I'd suggest using the concept of folders and documents, which many non-technical people are familiar with.
We can then extend the rules to:

For example, if this button is clicked, create a new user in the User folder. Otherwise, empty the signup form.
It took me months to build a simple fitness app but this will allow millions of people to build simple apps in hours.
Want to build this together?
Of course, this is oversimplifying things but powerful software is simple. Webflow lets you build websites without coding. Stripe lets you collect payments online with seven lines of code.
I can't shake this idea off since I thought about it this morning. If you are interested in building this together, let's chat.