For building the site I use Jekyll with a free theme I found online + some minor CSS modifications. I wanted to have js/css bundling/minification and html minification, but after spending an entire day trying to get webpack to work I gave up (what a joke). Instead I use a Rakefile that runs `jekyll build`, then does some bundling/minification - it works great.
For hosting I use cloudfront -> lambda -> s3. There is a lambda for incoming requests that handles some routing, and a lambda for responses from s3 that applies various security headers (HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Expect-CT, X-XSS-Protection).
I also have certbot (an ACME/LetsEncrypt client) running in a lambda once a day - if my TLS certificate has < 30 days remaining it will provision a new one and import it to be served by Cloudfront automatically.
The whole thing is serverless, can handle arbitrary amounts of traffic & is very fast, and no maintenance at all. It costs me about $1.50 per month.