A month ago I decided I want to learn more front-end stuff, so I started to redo my current portfolio website. Previously it was just a static WordPress site, so what I'd set out to do was write it from scratch, as a static page using pure HTML and CSS, starting with a template. This was great for getting started, but it wasn't long before I kept learning and realized that sites are rarely written that way these days.
So I decided to rewrite the site a third time using a modern JavaScript web framework. This is still purely a frontend, as it's written in React alone.
After realizing that I was inevitably going to need more control over the server side of things and the backend, I ended up dropping this project in favor of recreating this version of the site using a web framework called Yesod, written in Haskell. I still may play with incorporating Javascript web frameworks like React, Elm, or Vue (not Angular, I do that at work and hate it) into that site (Yesod uses templating via Shakespeare by default) in the future though, so I will leave this here as a reference for a React frontend.