In a different context (hiring systems), we’ve seen local vs centralized trade-offs become a big design constraint.
It also supports install with Helm in the cluster, so a single installation can serve any number of users - data gets synced once (continuously), every user gets served the local embedded UI. You probably want to integrate with auth for that - supports proxy and OIDC natively.