semi-functional webapp