Hey there 👋
Writing and maintaining a high quality technical blog is something I've aspired to for a long time. In the past I've hosted my work on GitHub Pages via Jekyll static site generation, Ghost.io, my own fully custom hosted solution using Next.js & Vercel, and this site: Hashnode.
While I will always retain that there's something simply magical about building your own custom solution from scratch, the styling, the functionality, there's one thing that I simply can't compete with on Hashnode...
And that's the network.
I'm not talking about network latency, transfer protocols or other deepnerd topics. No, I'm legitimately talking about the networking possibilities with users in Hashnode's network of developers and tech enthusiasts.
Miniature case-study in which I 100% have a vested interest:
I wrote a mere 4 blog posts on my Hashnode blog originally, before deciding my written work was better off somewhere else (Where that was? Can't remember). But in any case, my last post to my Hashnode blog was on March 29th, 2022.
If my hazy memory can procure even a modicum of reliable intelligence, I believe I pulled back on my Hashnode blog shortly after posting this article. At that time, I recall having only a small handful of followers on Hashnode.
So you can imagine my surprise when (having not posted anything new in 7.5 months to the blog) I checked my Hashnode dashboard to see my follower count on their platform had risen to 31.
It was then I had a bit of an epiphany...
Content distribution on Hashnode doesn't follow the social media trend of virality. That is to say, quality content on the Hashnode network seems to be well SEO'd, or well (re)distributed to likely readers on the network, or perhaps (and indeed hopefully) both.
But Kirk, what about tech stack and all that ugly and unnecessary generated DOM?
Well, I'm more than a little bit pleased to report that if you examine your Hashnode site's HTML in your browser's inspect element tool, you'll notice something rather reassuring about your generated code:
You seeing what I'm seeing?
That's right, the wrapping
<div id="__next"> element indicates that our Hashnode site is actually running Next.js behind the scenes, which is awesome. No clunky PHP-Wordpress nonsense for us! Just a server sending down static pages which upon entry to the user's browser hydrate with all the React-trimmings which definitely make for a good time. 😏
Another point, albeit a subjective one, that gives me positive pause for the Hashnode-cause is that Hashnode is a blogging platform specifically targeting technical readers and writers. One can imagine that because of their selected target audience, they wouldn't stick us with a crap-ass, mangled Wordpress site that's been slammed with every plugin under the sun, and coerced into a state of somewhat working-ness with criminal levels of PHP hackery.
Such a thing just wouldn't do. Not if you want to capture adoption and appreciation by a widespread tech-savvy (particularly modern web-tech-savvy) audience.
At this point you can undoubtedly see the direction I'm taking this blog post.
I'll cut to the chase and summarize by stating that as it stands, I'm seriously adopting Hashnode as my website's core backend.
The reasons for this, are (among many more I've surely missed):
- A world-class networking / traffic source for relevant readers via Hashnode's article-sharing network, tailored to developers.
- A generated site leveraging exactly the technologies I would use for a custom site (Next.js mainly).
- The ability to inject custom CSS and modify the UI of my site (more or less) to my heart's content.
- A dedicated article-writing platform that can be used on desktop or on mobile (via the Hashnode app), which supports markdown.
- The option to integrate custom "widgets" (iframes), which I can later use to extend my site with some of the more complicated functions that I've already built out previously (such as my custom Discord OAuth flow).
Now don't get me wrong. There are always tradeoffs when opting to use a platform such as Hashnode over your own, custom-built solution.
For one thing, you're sacrificing a lot of raw custom functionality you can integrate in any way you see fit via... Well, straight up custom code.
But in the case of my own site, which is primarily a blogging outlet for myself (alongside a small, slowly growing, integrated Discord community), I feel this approach makes sense.
Bet I want to know what you, my fellow developers, think!
Drop a comment below, and/or consider joining my Discord to discuss further.
And as always, keep on creating!
❤️ Kirk M. (@saricden)