Who is your DSL for?


When you are thinking of creating a DSL (or custom low-code/no-code app, if we use the trendy terms of the day). It is important to think of who your user will be and how do you plan to improve his life.

There are two main target groups that you can consider: developers, and well, non developers. Depending on the target you can serve them in different ways.


Developers can already create with code. Thus, for developers you can improve their lives (and productivity) with a low code tool. Low code tools enable the developer to do the same thing they did before but much faster. For developers, DSLs and low code tools are an accelerator. An example of a commercial tool that does this is Retool.

Retools focuses on creating internal tools for business, which basically translates to creating custom web apps that manipulate data. In their demo video, you can see how easy it is to connect to a database, and create a gorgeous graphical interface to create, read, and update entries. Creating internal apps is necessary, having nice UIs in today’s world is a must, and creating nice UIs with standard code is just a tedious and long process. So, Retool basically accelerates that tedious but necessary work of creating the UI and lets the developer focus on the part of the problem that is actually interesting for the business and that actually requires specialized knowledge: the data retrieval itself.

Non developers

Non developers on the other hand are usually not able to create with code. Thus, for non developers you can improve their lives with a no code tool. No code tools enable non developers do things that they could not do before. For non developers, DSLs and no code tools are an enabler. An example of a commercial tool that does this is .bubble.

Bubble allows the non technical user to create web apps without knowing how to code. They market the product specially for founders who need to start a company and do not have the time or money to hire a team to build their product. Creating even an MVP is hard for a non-technical user, and learning from scratch how to do it can take a lot of time. Bubble enables users to do something they were not capable of and focus on their real problem: getting a product to market with the least possible investment.

How does this apply to an organization

If you want to build a custom DSL/no code/low code app, look at your problem. Do you have a tedious repetitive problem where you can accelerate your development team with a low code solution? Or do you want to enable a new kind of users to do tasks that are currently beyond their abilities? Sometimes, instead of enabling your users with a no code tool, you can just take a tool that they already use, like a diagram editor, and generate the code directly from that tool. You have enabled them to write code, but they did not need to learn something new.

comments powered by Disqus