A front-end developer challenge