Curious on the design decision to have a server backend, instead of just offloading everything to the client to avoid the hug of death issue and server costs.
Great question i definitely considered going fully client-side at first to avoid backend costs and "risks" lets say.
I choose to keep a server backend for a few key reasons:
- Centralized updates to the exercise database (videos, translations, attributes) without shipping a new frontend each time. (The goal is to have 5 to 10 new exercices per week)
- The ability to offer shared features like community workouts, saved routines, and (eventually) syncing across devices, etC...
Room to grow into more advanced features like progression tracking, public/privates APIs (strava, garmin, ...), and integrations all of which are much harder to manage purely client-side in my humble opinion.