The site relies heavily on JavaScript (>ES 6)
HTML
CSS
JS
The stream URLs are gathered from the web
The URLs are stored in a JSON object
A function is written to loop through the object and create station blocks
Other functions are written to add functionalities such as play, pause, time update, skip etc