split web app into client + server