It's been way too long since I last had a site that I actually thought looked good, and wasn't also based off of some template that I bought or found in the dark reaches of the internet. This is the first site that I've built for myself from the ground up, and while it's still a work in progress, I'm actually already in love with it. So far, it's got a lot more of my personality and taste shining through, and I'm hoping to fill it even more with that kind of stuff over the next days, weeks, months, and even years.
I wanted to give a little bit of an overview of what's different besides writing something from scratch. I wanted to give an overview of the tools and tech that I used to build this site, and why I made the choices that I did.
First off - this is one of my first real sites to not use Wordpress at all. My love for the platform has long waned, as well as my love of PHP in general. This new site is built using Javascript, using a static site generator called Gridsome. Gridsome allows for me to have a little help in getting things put together, allowing me to use Vue and Markdown for page and content generation. I'm also using BootstrapVue as my base CSS framework to handle grids and some of the other functionality. I'm looking to possibly port that to TailwindCSS or another framework in the future, but for now, I just wanted to build on what I knew.
I've been experimenting with these technologies as well as others including Gatsby/ReactJS, NUXTjs and others, but I settled on Gridsome and VueJS for ease of use and wide compatibility. What you are looking at now is actually the third iteration of what I've been building over the last 6 months or so. I'd get a hankering to build my site again, I'd go find a theme that I liked, and convert it over to the technologies I liked to use. I'd get a week into the process, and would feel it's really just not for me, and move on to other projects and ideas.
One of the primary reasons for the switch is to reduce hosting costs. Right now, I spend a small fortune getting the sites I host for myself and others onto the internet. Right now, I'm looking to divest a lot of that hosting and infrastructure cost, and this site is just the first sample of how I plan to use that. Using hosting platforms such as Netlify, I can get this and other sites hosted on a pretty inexpensive level. It's barebones hosting that really only allows static, pre-generated websites, but for the most part, that's all that is really needed. Also, by using static generated websites, it severely reduces the chance of someone hacking the site, getting onto the server, and causing other issues. What you are looking at is pure HTML, CSS, Javascript and Images. There's a little technology behind the scenes that allows for things like form submissions, but for the most part, there's nothing that can really be hacked on this site. There's no database or administration section. Everything that's done is handled using Git - updating the site in the repository pushes the update to the server. It's as easy as that.
That's not to say there won't be any custom backend functionality. I'm currently working with "Serverless" architecture to handle development of some of the APIs that I intend to use on the backend of the project. "Serverless" doesn't mean that there is no server, but instead, it's an instance on a shared server that spins up when needed, does the processing that it needs to complete, and then shuts itself down once completed. There's no maintenance or updates that I need to run on a dedicated server or VPN, and the costs are reduced significantly. Eventually, this is how I plan to run my email forms, as well as my planned "payment gateway", which I'll discuss further as I get down that road.
So, again - welcome to the website! I hope you find something fun and enjoyable here. I've had a ton of fun building it, and look forward to maintaining it into the future. I'll post more as I update. For now, please excuse the mess...