JavaScript front-end