reworked backend using go, with server side logic rather than slient side