This post is written using WordPress's new Gutenberg editor.
First a little about me and my journey.
I started my hobbie building websites back when they were just static pages built on the desktop and uploaded to the world via FTP. My coding skills were non existent and being lazy I used the desktop "page" builders of the day to create my site pages. ( circa mid 1990's ) Microsoft's Frontpage was one and NetObjects Fusion was another.
Next I found out about server side Content Management Systems and they were free! But building them on a desktop would require a server environment.
So I figuring out how to build a desktop server environment on Windows 98 SE (I used XAMP at the time) . When I switched to Apple computers I was using their Server but since they crippled it. So now I use Local by Flywheel for a quick and easy ready made WordPress environment or Laravel Valet.
Valet is a PHP server setup to build with the Laravel Framework but also works well for WordPress.
I looked at as many CMS programs I could find. Joomla and Drupal were some of the first but I eventually found WordPress and desided it was a better fit based on my limited skill level.
Unfortunately WordPress made it easy to avoid learning how to code. A five minute install and only a few minor changes to a couple of files. Create a MySQL database with phpmyadmin and I was off to the races.
Need to change the look, just find another theme, need more functionality , find a plugin to do it for me. Want to customize the theme just add a page builder. Both the themes, plugins and page builders all had free versions so why learn all the code stuff. Need more power just purchase the pro version.
This site was originally built with a basic WordPress install using the premium Genesis framework and a pro Genesis theme. Minor customizations were done using WordPress's built in customizer and I didn't have to touch any code.
Now don't get me wrong, this ease of use is where WordPress shines and in my opinion it's the reason it has become so popular. Most people want to blog not build a blog.
So why build a custom WordPress site. I mean a site where I build my own theme and even my own plugins. There are some free and pro plugins that are just so good there is no reason to reinvent the wheel but my objective was to learn to code and get under the hood of WordPress and in my case its just for fun.
I pretty much learned HTML 5 (Hyper Text Markup Language version 5) and CSS (Cascading Style Sheet) by osmosis and with the help of some quality YouTube videos was able to learn CSS flex and CSS grid.
A few more courses and I had a basic understanding of JS (Java Script), PHP and the WordPress codex. PHP is the language WordPress is written in so needed to know a bit about it. The built in functions in WordPress do most of the heavy lifting so the codex became as important than PHP.
So with help from a few courses on Udemy I built a complete custom WordPress theme complete with custom post types, custom templates and even custom plugins and added custom javascript interaction.
But that's not this site
Before I did all the above I purchased a new kind of page builder called Oxygen so I decided I should see how well it works compared to some of the other page builders I've used.