This is what a CMS with a layout editor is. It’s what site builders are. That’s how.they work.
It doesn’t work very well as a general solution. Instead of a single website, there are now several complex applications to maintain, including:
- The layout editor (an app that builds apps).
- The CMS admin.
- A library of components for the layout editor.
- The end result, which ideally will not be edited outside the layout editor, but inevitably will need to be due to real life.
They’re all tied into each other, and often changes in one mean changes in the others.
This is not helpful for coders. It is supposed to be helpful for non-coders, but in general (YMMV) these things are always asked for by clients but never actually used. It seems like a good idea at the time, but for anything that isn’t super simple, it’s generally a bad solution. It’s doable, there are hundreds of thousands of examples in the wild