Many business applications are data-driven and require viewing and entering data in forms… countless forms. Unfortunately, writing HTML5-based web forms manually is still error-prone and tedious, even with the help of modern web application frameworks like Angular. A form may seem simple at first, but you usually need to add live validation and error markers, rule-based visibility, input restrictions, and the like. As you can imagine, it quickly gets out of hand. Finally, when you have many of these forms the code becomes unmaintainable.