A basic demo based on Hartl's Web tutorial