Frontend JavaScript