Welcome to the new cowsgomwoo blog

Last month, after chatting with my friend Rickey, I was convinced to host my own blog instead of using SubStack. While it was nice to have a all in one built in solution I had one issue which was gating access. Wanting to keep this blog semi private I set my substack to private which required my readers to make an account, send a subscription request and then have me approve them before they can begin reading. Usually when I drop my blog link to my friends I lose them at the make an account step so while I have my loyal friends and family reading I haven’t quite gotten the reach on substack that was meant to replace Instagram. When I dropped my blog link to Rickey he said “argh account creation what a pain” and told me to try using the tools he used for his own blog.

Hugo, the static site generator

Hugo Logo

Practicing my image embedding with this hugo logo

Rickey introduced me to the Hugo static site generator. Because of my webdev background I had always envisioned a blog from a platform perspective, thinking I’d need to create some kind of online editor that would save blog posts in some kind of db with some kind of UI that could render many different post types, very MVP thinking. It was only after looking into this that I realized, no, I would only need a very small (< 1000) amount of blog posts that would only grow at a pace of 1-2 posts a month. With this kind of growth, rather than re-creating substack, what I really needed was just a collection of static html to host. Hugo seems to be the most popular static site generator, and for now I’m leveraging the simple PaperMod theme in order to host all of my blog posts. Luckily my experience with docs has me comfortable working in markdown and a little help from Gemini to vibe code some layout changes and I’ve worked out how I’m going to build my website.

Hosting on Cloudflare

The next question then was to figure out how to host this website. I was thinking maybe I’d have to do something on Heroku but Rickey also told me that Cloudflare is quite good, offering free static site hosting and building deployment hooks with most git repos. Without too much difficulty I was able to get this blog hosted on a private Github repo and hooked to deploy to Cloudflare on every new commit. I thought about keeping the free development URL provided but figured I’d splurge and spend the $10/month to register my own domain so now I’m the proud owner of cowsgomwoo.com. Maybe I’ll get aroud to using this domain more but for now it’s my handy blog domain.

Media Storage

Finally to figure out how to host all the images and videos I like to embed into my blog posts I had to look at some cheap object storage solutions. Deciding to stay in the Cloudflare shop I decided to purchase an R2 sub, getting 20GB for free and only paying $0.012/GB/Month for any overage. The only thing now is that rather than having a built in media upload toolbar I need to first upload all my media to R2 and then get the public urls to embed into my blog posts. A little bit of a hassle since I only write blog posts once a month I’ll learn to speed up my work process and probably won’t find this step too difficult.

Practicing my video embeds

Looking to the Future

As I get more comfortable with this platform you may see some layout changes here and there and maybe I’ll figure out and get consisten with some kind of tagging system to differentiate articles. Another feature I lost is my subscriber email list so I’ve created a google form to have people add their emails to my subscriber list and will have to manually reach out every time I update content so if you’ve been following along the ride be sure to subscribe.