web app with templates