I forgot to account for saving the data on the frontend, so it was only ever using whatever the last data passed to us from the backend was, which only happens once on initial load.