This personal site was (believe it or not) built with some particular principles in mind:
No encapsulating framework
You will notice that the pages of this site are built in different ways. I understand that this is likely to introduce inconsistency, but that is not a priority. The content of this site (as with all sites) is ultimately HTML, CSS, and JS files, and I didn't want to work too far away from that.
Curiosity led
Each page of this site was made because I wanted to explore curiosity. There is no ulterior motive otherwise. This ties into the previous principle because (for me) an encapsulating framework would encourage bikeshedding of the build process and also prevent me from building one page with C, another with ClojureScript, etc. as this site does.
Light
The pages of this site should be small where possible. Excepting one or two pages (such as the Simple Synth experiment) they should generally be smaller (often much so) than 100kb.
Different pages have different build processes, but they all result in their constituent HTML + JS (+ sometimes WASM) components.
Just serve the directory, it's HTML!