JavaScript webapp skeleton