demo app from the hartl tutorial