Improve web app template, close #29