[webui] basic structure