At Backend there are often boilerplate code and documentation that could be generated and kept almost automatically updated. That might spare not only a lot of time/pain when it comes down to maintainance and testing, but also produce better documentation for Frontend/Customer parties.
Humble attempt to dissociate Backend generated data/schemas from friendly user Frontend formats
Customer is more used to read HTML than hairy, lengthy Json Schema raw files. So we'd better to provided that expected format in order to get some constructive feedback from them.
Not only documentation could be directly mapped from Json Schema, but also proper C++ code. That way all the repetitive, and so humar error-prone, chores might be reduced. Furthermore, if some mistake is detected, it's far easier to fix the generator tool because computer tends to commit the very same error again and again; humans, apart of repetitive erros, commit new imaginative ones all the time.
At the backend Boost Hana by Luois Dionne and RapidJSON by Milo Yip can be used to fight back all the ugliness possible and get to the frontend some simplified Markdown/text data to transform through Pandoc into waterdowned HTML/CSS.