demo web app (issue #6)