See a live version of this app here. Current build status:
The web app give you (random) recommendations from a previously defined pool of artists/playlists from Spotify and other music streaming services. You can put in as many artists/playlists as you like and switch them on the fly.
This project is not configurable in the usual sense. Artists/albums/playlists are generated by source generators and compiled into a release. The reason for that is that it allows the web app to be served without any form of backend service. All data is baked into the web app itself.
To be able to build the repository you will first need to generate Elm source files containing all the meta data. Check the Tools repository for tools that retrieve data from the music streaming services and turn it into Elm source files.
Building the web app requires you to have NodeJs and the Elm toolchain installed. Make sure that the newly generated Elm files are in the src folder then run:
npm install --production
npm install -g uglify-js
elm make src/Main.elm --optimize --output main.js
uglifyjs main.js --compress 'pure_funcs=[F2,F3,F4,F5,F6,F7,F8,F9,A2,A3,A4,A5,A6,A7,A8,A9],pure_getters,keep_fargs=false,unsafe_comps,unsafe' | uglifyjs --mangle --output dist/js/main.js
You may need to change the way you call the elm command depending on whether or not you installed Elm globally or not.
After running the build all you need to do is to put the contents of the dist folder on a web server.
Since all content is baked into the app there is no need for any backend service.