WYSIWYG editor for complex web applications

[edit 2026]: I ended up using bootstrap studio for a while not long after writing this article. I built a simple application with it. Overall it is pretty good for simple needs. The appplication I was building did not go anywhere, so I switched to something else never had the opportunity to use it again.


I have been building websites for seventeen years now. I have used a lot of different technologies, and see the world of web development going from complex and infuriating to sheer madness.

In my quest for a more efficient and rational approach, I am looking for a tool that would alleviate the time it takes to create new web applications.

Over the years, I have become more proficient on the backend side of things. REST api principles are relatively stable in time, and libraries have emerged to become the reference in their own language. Think express.js for Node js, Flask or FastAPI for Python, Gin for Golang etc..

Over the years, the frontend side of things have completely derailed. I think a lot of people have written and talked more on this topic, so I will not expand further.

Things being what they are, the question becomes: how can I become more efficient on the frontend in a sustainable way?

Here are my criteria for the tool I am looking for:

  1. It should allow me to create interfaces using a drag and drop interface.
  2. It should allow me to integrate with my own API. This means that I should be able to tell the tool about an endpoint's schema and it will allow me to use it as a data source on the website.
  3. It should allow me to export my code freely, or provide a way for me to host the generated application myself.

Now, most drag and drop editors that I am seeing online are for building static websites. They have 1 and sometimes 3 but not 2. However, I did see a couple of promising options out there.

Wappler

Their documentation says that it is possible to connect a REST API as datasources. However, this feature is only available by purchasing their enterprise plan at 49 euros a month. This was outside of my budget, so I passed. Link

Builder.io

The development process is very smart. The UI is somewhat intuitive and is full of potential.

The idea is to code your app via their builder, test it via their preview system, then export the full code to host it yourself (or by using their hosting service but it's optional). On the paper it sounded very good.

Unfortunately, although possible, custom data manipulation is a second ranked citizen. One example is that in order to access the value of a form's input programmatically, one has to add a listener on the input and store the value in a "global state" attached to the page. It kind of work, but it's really not ideal for bigger applications. Since the component has a name, I am bit confused as to why the underlying components cannot expose its value.

Again, from an engineering perspective, their tool is very smartly done. For my use though, I feel like I have to fight the tool to achieve what I want to do.

Link

Bootstrap Studio

This is a paid tool, but the price is really reasonable (29 usd as I am writing this article).

They have a desktop application. Once activated, one can start a new project. This is essentially a wrapper around the bootstrap framework. It helps you design the interfaces and can export the resulting website as a pure vanilla javascript application. For now, it is be the most interesting tool for my needs!

Link

Streamlit

This one has a special place for me. There is no editor. Essentially you have to code in Python and build the interface with Python objects. However, the components are so easy to use that I think it has its place in this list.

The whole page regenerates when the user interacts with a component on the page. I really like the look and feel of the generated application. For a quick prototype, it is probably my favorite go to, but it does not fit a more advanced usage. Things like forms and database storage is quiet hard to achieve, and authentication too. Overall, I would keep it for a prototype or internal tools.

Link