When I look back at just one year ago, I can’t believe it was real. It was the middle of Australia’s toughest covid lockdown with no hope or end in sight, everyone in Sydney was on a 5 km leash, and I was preparing to yet again turn my life completely upside down: 🦘 Prison break, or solving life like a developer️. Long story short: I escaped Australia, become a digital nomad in Europe, and started “Developer Way” blog, where now I write about advanced-level stuff for developers, mostly focusing on React and the technology around React.
It’s been 10 months now since the blog launched. Its popularity is growing, the overall number of visitors recently surpassed 100k people (30k in the last 30 days) and the free bandwidth threshold on Netlify has been exceeded. This feels like a good time to do a bit of self-reflection, share a few “behind the scenes” stories, and think about the blog’s future.
And reveal the secret of the cats of course 😉.
After all the bureaucratic hoops were jumped through, I escaped Australia’s lockdown, and landed in Europe, I needed a new big side project to focus on. Something different to the coding “day” job, but also something that is related to it in some way, so it doesn’t split day-to-day focus too much. I was writing here and now before that, so this felt like a good opportunity to start doing it more consistently and publicly.
For any side projects that I do (or anything for that matter) I need a purpose. I can’t do things just for the sake of doing things. Considering that I’ve never done consistent blogging before and didn’t have much of an audience, I decided that the goal for this project would be:
- write consistently for at least a year
- learn things about marketing, SEO, and other cool stuff that can help promote the blog
beat Dan Abramov in the number of Twitter followersapply freshly learned things and tools and see how much of an audience I can build (and maybe turn it into passive income at some point in the future, but on that later)
A few discussions and sparring sessions with one of my dearest friends later, and the blog with the name “Developer Way” came to life. Initial goal: in a year it should have at least 5k visitors a month.
5 months later it turned out that I’m really shit at setting numbered goals and need a new one 😅
Where to source ideas from to write consistently is usually the main concern when starting a new tech blog. One of the most useful articles that I’ve read on the topic is this: 7 Ways to Find Unique Tech Blog Post Ideas. Here I want to share a few strategies that work particularly well for me.
“Keyword research” is something that every single article on “how to become a blogger” will mention and I use it a lot when I’m looking for a new topic to write about. “Keyword research” is a SEO technique and it’s basically just a fancy term for staring at the most popular google search queries on the topic of your interest. When you don’t have a huge backlog of ideas to write about, understanding what people actually search for can be a big source of inspiration.
There are a lot of tools out there for this purpose. For the actual research, I usually use Keywords Everywhere Chrome plugin. It integrates into the google search results page and shows the keywords information with it: related keywords, long tail keywords, and what people also search for.
So the normal research process for me looks something like this: search for a topic (“useMemo” for example), look at the related keywords and searches, see what speaks to me, if something clicks - write it down. Narrow the search down or search for a different topic, and repeat the whole process until I have a decent backlog of ideas to think about and investigate in more detail. Quite a few articles, especially at the very beginning, were a direct result of this process.
People asking questions
Actual people asking questions is probably one of the most important sources of ideas and inspiration for me. The article on components composition was written because a few people just asked me on Twitter & email to write something about composition. The mystery of React Elements was born from a question in the comments in one of the previous articles.
Another very useful source of questions is StackOverflow and various subreddits on Reddit. I just browse from time to time through the most popular and the most frequent questions there. Usually, it’s enough to get a glimpse of where are the major pain points for people, and whether I want to say something on the topic.
People love to argue, isn’t it? Who among us didn’t stay up unforgivably late just because someone was wrong on the internet?
Those heated discussions and dramas in comments under popular articles are not only a fun read, but also a good source of inspiration for future articles. At the very least you know for sure that a topic like that is something people care about, so it might be worth writing about it as well. This is how the latest article PureComponents vs Functional Components with hooks was born: under popular articles about re-renders, performance or memoization there will always be comments on how easier life was in PureComponents world.
For something like a technical blog, a constantly growing audience is a strong signal of its success. And who doesn’t love to be successful?
Considering that the blog started from almost zero, it was a good opportunity to try different promotion strategies and compare their impact and required time & effort investment. Also, turned out that trying various strategies and noticing different patterns in different systems is great fun by itself.
Social media: Twitter
Twitter turned out to be the most annoying thing ever for me. Posts there are extremely short-lived: everything just disappears into the void in a few hours. The character limit is ridiculous: I only start writing a thought, and it’s already exceeded. The chaos of Twitter threads makes my eyes bleed and the process of writing them is just agonizing.
After trying a few different things I just gave up on it. Currently, I just post announcements of the latest articles, occasional reposts, and rely on “natural” growth. “Natual” growth is relatively steady but slow: I started with ~250 followers, 10 months later it’s ~1100.
Social media: Linkedin
Linkedin turned out to be much easier: no limits, a normal comments system, no annoying threads. Posts remain “active” longer, for at least a few days, not hours. And some residual activity due to its feed algorithm also continues for a very long time: I get likes or comments on posts from weeks back. In Twitter, a post is “dead” completely after just a day or two.
Also relying on just “natural” growth here, also slow but steady: from ~500 followers (half of which were random recruiters) to ~1400 today.
Content syndication: dev.to and medium
Content syndication is a fancy marketing term for republishing your own articles on other platforms. I have two “clones” of the blog: on medium and on dev.to. Syndication, especially at the very beginning, turned out to be one the most useful promotion strategy for me.
First, it provides more exposure and audience to the actual content of the articles: those platforms have a huge devs community. Second, they also serve as another source of visitors to the blog: links to the previous articles, footnote that “this article was published elsewhere”, links to the blog from the profile. And lastly, they are also a good source of “natural” growth for Twitter/Linkedin: people like to connect with authors they read on social networks.
The standard marketing recommendation is to repost articles 2-3 weeks after the original is published, so that Google has time to index the original. I usually ignore it (I’m too lazy for that 😅) and publish them after a few days. For your own reposts, I don’t think it really matters that much: even if Google indexes “clones” first, it will quickly correct itself as long as the canonical link is set correctly.
It was a big surprise to me, how many email newsletters are out there, and how popular they are. For beginners, being shared in one of the big newsletters trumps all other strategies tenfold. The first time one of my articles appeared in React Status newsletter (~50k subscribers), the number of visitors “in the last 30 min” (real-time view in analytics) jumped from 3-4 to 60-80.
Even today, when traffic from google constitutes the majority of visitors to the blog and 60-80 is a daily norm, I still see some good bumps in the visitors when big newsletters share my articles.
How to appear among the “chosen” ones? 🧐 No idea, to be honest, seems like a big lottery. But writing an article that becomes popular before that is the most obvious way “in”, almost a guarantee. After that it’s a chain of re-shares: everyone is stealing from each other 😅
Knowing the basics of SEO is a must for an ambitious aspiring tech blogger. Reading through half of Moz’s guide on SEO and learning stuff like ranking, backlinks, indexing, domain authority, and so on turned out to be one of the best time investments from the “successful promotion strategy” perspective.
Investing in “google” promotion is a long-term and time-consuming investment, but it’s worth it: currently, I get ~1300 daily clicks from google on weekdays, and it's growing rapidly. The graph of clicks from google search in the last 6 months looks like this:
Blog’s email subscription
My blog, as any respectable blog, of course, has its own email subscription 😅 That one is probably the most controversial for me: by itself, compared to all other promotion strategies, it’s pretty useless. Today I have almost 800 subscribers, with very good open and click rates (70/30), but when the email goes out it’s almost unnoticeable in the usual visitors' rate.
On the other hand, as a delivery method, it’s much, much more reliable and visible, compared to the instantly evaporating Twitter feed. Not to mention that subscribing to something through email (with the confirmation afterward) is a much more intentional act than just clicking “follow” on Twitter. So technically speaking, email subscribers have to be the most committed and loyal audience compared to all other mediums. Kinda cool, if you think about it 🙃
It’s amazing, how much of everything described above can be done for free. Technically speaking, the only required investment with the number of visitors that I have is the domain name. Everything else is optional and more of a nice to have. Quick breakdown:
- Domain name and google workspace (for email at @developerway.com)
18$ per year - domain itself, ~10$ per month for workspace
- Blog building and hosting
Basic static blog on Nextjs with deployment to Netlify, no CMS, backend, or lambda functions. Was free until last month, then they forced all private repos to Pro plan. Now 19$ per month.
If I switch to AWS, will again be free for a very long time, my usage is well within AWS Free tier.
- Email subscription service.
Free until 1000 subscribers, after that will be 29$ per month
- Comments service
Currently 5$ a month
Overall, around 64$ per month. Could’ve been worst.
From time to time people ask why I don’t monetize the blog now, and whether I plan to do that in the future. I thought about it of course: the idea of having some steady passive income sounds very appealing.
What I don’t like, however, are the “standard” ways to monetize a blog like that, i.e. advertising, sponsorship, or paywalls. None of those are worth broken trust from the readers that come with it, especially in the long run. If I decide to monetize the blog in the future, I’ll look for more “ethical” ways to do that.
For example, I may or may not write a book or make a course on React, if I pass the next milestone I set for myself 🙃
Lots of people noticed the cats theme in the blog 🐈⬛. Curious: how many of you noticed that the cats are not random? 😉
When I was just building the blog, I designed the main page in a way that every blog card should have a picture associated with it. And the very first article that I wrote for the blog was about my escape from Australia to Malta. The article is illustrated by a photo of Malta’s cats, they are everywhere there. And the article before that, with the title “Custom eslint rules + typescript monorepo = ❤️”, is illustrated by two cats in love.
So it seemed only logical that the next article should also have a cat. Why break such a cute trend? Hence the Rule of Cats was born: every article should have an intro pic with a cat (or something equally cute) on it. The cat should illustrate what is written in the article.
The custom hooks article has a cat with a hook: Captain Hook Cat. How to useMemo and useCallback article is about memoization (i.e. memory), and has a cat that remembers a fish (i.e. the fish is memoized 😆). React component as prop article has three similar cats of different colors that sing the same song, and the article describes three patterns that essentially do exactly the same thing (i.e. sing the same song).
I’ll let your imagination figure out the rest of them 😜
That is all for today, hope you enjoyed that little “behind the scenes” sneak peek. Don’t hesitate to contact me on Twitter or Linkedin if you have ideas or suggestions: after all, y’all are the reason why this blog exists and continues to grow!
See ya next time, and remember:
this cats is the way!