rebuilt with web.go and some new frontend tooling