I'm using Vue.js, Vuetify, Chart.js, Firebase, Paddle, and GCP. PL is pretty client-side-heavy, as alluded to here: https://projectionlab.com/help/enter-data.
Happy to field any more questions about the stack if you're curious what any of the components are like to work with.
Edit: and here's a little more info on how the self-hosted version works: https://projectionlab.com/help/how-self-hosting-works