It really depends on how great of a UX you want to provide. Create an extremely efficient backed whilst creating a terrible frontend will get users frustrated but having an awesome frontend and a measly backend probably won't.
If you're developing full stack, you have to count every attack vector and try to prevent them. Full stack is serious work, but having a backend that can defend and is efficient and a frontend that is easy/good to use takes work.
I agree. Also in this particular case, an added challenge is that the frontend has to work offline and my customer wants to self host everything instead of using an easy 3rd party solutions like Firebase, even as a proxy.
I built the entire stack for my current project and the frontend (Angular/Ionic) has taken the most work.