Not reinventing the wheel is such an important concept, and it is one I try to follow when coding. In programming, there's a famous acronym that also models this concept: DRY. DON'T REPEAT YOURSELF. When I ventured out to create a blog, I just started by Googling different templates. Naturally, templates don't work well with my creative brain. I enjoy building things from the bottom up most times, but times wasn't on my side in this case for various reasons.
Thankfully, there was a middle ground found for me. A mixture of tutorials, reading documentation, and experimentation allowed me to build everything out. The most important part of the site for me was the blog. I wanted it simple and able to be hosted in a folder on my computer. There were many options, but my issue was that they were simply in languages that I hadn't touched prior.
Eventually, I mustered up the strength to read some GatsbyJS documentation and loosely follow along with a tutorial. The tutorial also utilized GraphQL, so I also ended up having to dig into the docs for it as well. Overall, I am quite satisfied with how it turned out, specifically the ease of writing a post, storing it, and deploying it.
I'm currently building out a site around the blog now. In all, the languages utilized for the site are React, Firebase, Raw CSS, Markdown, GatsbyJS, and GraphQL.