InHu Official



Moving from DEV to Hashnode, the good, the bad and the ugly!

Moving from DEV to Hashnode, the good, the bad and the ugly!

InHu Official's photo
InHu Official
·Feb 12, 2022·

7 min read

Table of contents

I have just started the process of moving my 80+ articles from DEV to hashnode and giving the platform a try.

Here are a few things I have found that I like, dislike and suggestions on how to make the process even better!

Overall I have found the platform a great interim step for the ultimate goal, moving to my own custom built platform (but it still isn't ready so this will do for now!).

1. The Good

Overall the move to Hashnode has been a positive experience so far, obviously it is hard to compare things like discoverability, interaction etc. at this stage as I am brand new here and need to interact with the community to build a following, but here are a few things I have enjoyed / been impressed by!

More Control

Being able to set the slug for a post, my meta descriptions etc. is a big bonus instead of just grabbing the first few words from an article.

Although Google won't always show these it gives me an opportunity to optimise my title differently for Google than I would for a feed.

For example this post is titled in a way to hopefully grab someone's attention, but it isn't very optimised for keywords.

Being able to set a more SEO friendly title and description that may get used by our Google overlords is a big plus!

In addition, being able to set the Open Graph image etc. makes it easier to optimise images for social media and the post.

I have yet to do this for my existing posts (in fact as the cover image is a different shape over on DEV a lot of my cover images need reworking for Hashnode), but going forward I like this extra flexibility.

A better writing experience

Oh the editor here, yes it is still markdown (and I have no idea why we think markdown is better than a WYSIWYG as developers), but it is so much cleaner.

I imported my first post and immediately realised I needed to fix some of the shortcodes for codepens, links to other articles etc.

Now I didn't know the format for Hashnode (as DEV uses liquid tags which are in the format {% TYPE URL EXTRA %}), but right there in the editor, in a logical place is the guide.

Better yet the guide is on the same page, so no opening random tabs and switching between then to reach the guide.

Within a few seconds I could see that the %[] format of embedding was what I needed to use, plus it is so much more straightforward as you can just enter a URL and it works out what type of embed it is (I believe DEV are working on doing the same).

I still haven't worked out if I have as much control over, say, which tabs to show on a CodePen embed, but overall I like it!

Automatic Contents

All I have to say is being able to generate a contents section automatically, just wonderful.

No idea why DEV don't have this option, it is a life saver for someone like me who writes long-form content.

It will probably be annoying for articles where I already have a contents section, but that is certainly a simple problem to fix with a swift select -> delete!


Having control over your analytics is a big plus for anyone who wants to grow an audience organically.

The analytics on DEV are poor and limited.

Being able to put Plausible analytics (as Google Analytics has now been deemed illegal in the EU, more on that in an upcoming article) on the site is great.

Plus their in-built analytics are just super clean and give a decent overview.

I am yet to explore this properly so I can't comment in detail, but at a first glance it looks awesome and a much better experience for "serious" writing.

2. The Bad

I am one of those "negative" people

Interacting with other blogs

I tend to comment a lot.

I like interacting with other developers and their content to support them (it ultimately benefits me anyway as they will possibly read my stuff so it is a win win!)

I find the "authenticating with hasnode" screen that pops up the first time I want to interact with someone's blog highly frustrating! (maybe because I am visiting so many new blogs, I know I won't see it every time).

Why not just authenticate in the background?

That would be a much better User Experience in my opinion, I can visit a new blog and it just signs me in the second I start writing a comment or interact.

They don't support jsfiddles

Ah this one was (and is going to be) a real pain.

This is obviously only a problem if you are moving content from one place to another but I tend to use jsfiddles for a quick demo of something so I don't clutter up my codepen account.

Luckily Shadow Shahriar mentioned they support Glitch so I will probably end up using that going forward.

But that doesn't fix my immediate problem, swapping jsfiddles to another site.

So currently every time I import an article I am having to copy everything to a new codepen or (going forward) glitch fiddle (whatever they are called) and then swap out the URL.

They don't convert liquid tags

This one is also a real pain!

It can't be that difficult to implement something that turns:

{% post url %}

Into a link (or better yet a post card similar to DEV).

And for things like codepens converting the liquid tags syntax of {% TYPE URL EXTRA %} to %[URL] seems a straight forward task.

I would imagine for cross posting going forward I am going to end up writing a script that does something similar anyway, but it does stop me just dropping my entire back catalogue onto hashnode easily!

Adding double quotes on a UK keyboard...

Just an annoying niggle more than anything.

With UK layout the double quote is accessed with Shift + 2.

However on American layouts this is the @ symbol I believe.

It appears that when I try to use "" they have programmed the popup for mentioning another user to be set to the key combination rather than the resulting character.

So every time I use quotation marks I get the user list to pick a mention from.

Easy thing to fix, but just a minor niggle that removes a tiny bit of the "polish" from the experience.

3. The Ugly

Luckily there isn't too much to report here, but here are two things I have stumbled across that could ruin the experience for some people.

Mass import didn't work

I have 88 articles live on DEV (and 90+ drafts!)

So naturally I wanted to mass import them.

Unfortunately the second I tried to do this it gave a server error.

Tried a few times, no luck. I will probably contact support but when I saw "a few hours" response times on the live chat I thought I would just move the first few over manually.

I hate to think what someone with 300+ articles would think, but I can guess it would be "yeah, I will just leave them where they are and cross post going forward".

Saving an article requires a "double save"

This is a weird one for me.

When I import an article I obviously make some edits to fix the liquid tags problems I mentioned, move jsFiddles and update the URL etc.

Then I press save, fill in all the info on the sidebar that appears and save a second time.

It is all good until I look at the article and start seeing {% post... still in the article.

"I thought I fixed that?"

It turns out I did, but I have to then press "edit" again and resave in order for the changes I make to show.

Now I don't know if that is just an editor issue yet (the changes show on the live article everyone else sees and I get shown a chached version), but it is certainly confusing and frustrating as a new user.


Overall I have enjoyed the experience so far, a few bumps that are to be expected and a few things that just need fixing, but those are more than compensated for by a great overall experience.

I hope someone at hashnode reads this (unlikely at the moment as I am still new here) and manages to fix the issues mentioned as I think they are doing a great job and don't want little things to hurt their conversion process.

As I learn more about hashnode and the community I will release a further article on my thoughts in a similar format.

Next up, I am going to have a go at seeing how far I can push the "widgets" as that seems like it will be a really fun feature to play with!

Share this