A visually driven CMS "Content Management System"- thredUP
In my final performance at thredUP all the previous works came together to create a visually driven CMS authoring system. The monorepo abstraction allows us to iterate on components quickly. The PWA consumes these components to create a consistent user interface which is based on the Style Guide abstraction.
We can now use these small UI Packages as building blocks to create more complex pages and layouts. This is done via a highly visual and interactive UI with live updates, drag and drop, and custom input widgets.
Obviously there is a LOT more to to the actual implementation but conceptually it's really simple. We read the TypeScript interface of the component we'd like to make available within the CMS. From which, we generate a JSON Schema which we can use to generate a form and validate the form data. Using comments we're also able to annotate default values and additional validation rules, it's really slick!
Unfortunately, that's about all I can say right now 🙉