The main part is to avoid holding state in two places (frontend and backend) if you can do with holding state in only one (either frontend or backend).
Avoid caching as much as possible until you absolutely need to. As soon as you introduce caching you now have multiple sources of truth instead of one.