I wrote my homepage[1] in about an hour (with bits and pieces of js borrowed). I used to have a wordpress blog styled exactly the same, but I never posted on it so it is gone now.
I by all means don't think this is 'professional', but I doubt what you want to make would need much more work than I have done.
These days there's resources for everything, webservers which have really good proxying if you want to code in a language other than php or manually writing html, pre-made 'article-writing software' in many languages made for the web.
Tools? All you'd need is notepad, or nano (or, your preferred text editor)! You shouldn't need to run compiled code for the web, in my opinion, as there's no noticeable speed differences.
Googling for specific things in a specific language will probably give you results, e.g. 'nodejs blog' will land you to Hexo[2], which really neat, customizable, and fast.
Better structure, different (better/smaller) deps, and much different code I'll never do now that it works already. I'm thinking of re-doing the whole project once it can be called a `full` version, but that probably won't happen as 'hey, if it works...'.
It's the fastest and most stable web server I've ever used. It does crash whenever something is misconfigured, but that is usually my fault. It works wonders and never crashes unless I cause it to.
This sounds really insecure, many people know my email as I have it shared everywhere (as contact form, etc.), and using just email would mean anyone would be access my catchy account.
It doesn't seem much like a shortener honestly - the domain is short, sure, but the urls it generates are quite long-ish [1]. A better way, in my opinion, would be to just use a single word, with up to ~3 retries before it adds another one to it. Is it open source? It would be quite neat to deploy on one of my domains ;)
Caddy [1] could also be used. It is a server coded in Go, and is made for everyone (tech savvy or not). The configuration is really simple, and something that took ~100 lines to configure with nginx (let's say a proxy vhost), would only take ~5 with Caddy. Oh, it also uses HTTP/2 by default (if the user's browser supports it) and generates letsencrypt certificates automatically.