Personally, this ended up being a kind of a rabbit hole for me, because, with node + express, you need to reinvent the wheel quite a bit in comparison to other more high-level web frameworks, like Laravel or Ruby on Rails.
That being said, I have decided to build my personal portfolio site backend on Strapi, which is a Node CMS!
I think that Strapi is an awesome choice for frontend developers and no coders alike. The biggest reason, in my opinion, is Strapi's API that comes right out of the box.
Here is an overview of some of the things Strapi includes in their API:
I started a series on building my personal portfolio on Strapi + Nuxt! You can follow along with that series here: