If you want to see what can be done with ShEx, i give you my first experiments :
I made some ShEx (like) here :
https://holacratie.solid.community/public/Schema/
that can be read by https://scenaristeur.github.io/holon/ (source https://github.com/scenaristeur/holon) -> click on bottom buttons (orga / user…) to use the concerned shex shape
or more recent and Vue.js components https://scenaristeur.github.io/solid-vue-panes/forms (https://github.com/scenaristeur/solid-vue-panes/blob/master/src/components/crud/Crud.vue)
with test for solid:webId, or storage:workspace to indicates to the app where to store data.
Footprints is another big part to explore
It’s a first part, i’ve not used UI ontology, but hope this could help you