The template and type system of C++ can be a key success factor in distributed systems. Unfortunately, the current best practices wildly ignore this. I will teach you how Qt and the C++ type system allow us to build modern flexible user interfaces. After leveling the playing field with the introduction of strong types and event-driven architectures, the idea of a common data schema is presented to you. From this central schema we can generate all kinds of communication protocols, indexed repositories, storage formats, complex computation networks and even user interfaces. C++17 allows and helps us to achieve this in a way, that keeps the complexity low. We will conclude with a discussion of advantages and disadvantages of these techniques.