Justin Garrison
December 27, 2021

Lessons learned from 123dev newsletter

Posted on December 27, 2021  •  9 minutes  • 1788 words

I have been running 123dev newsletter for a full year. 52 weeks in a row. I’m really proud of myself for writing more, being consistant, and—unlike my exercise plans—sticking to a new habit.

Not only did I buy a domain and use it, but I’ve received great feedback on the content and format. It has given me an outlet to share my thoughts, and—according to the people who’ve reached out—added value to their lives.

But the newsletter is a failure.

At least it is according to my original goals and assumptions.

I made a lot of mistakes and wasted a lot of time creating it. I want to give you the hindsight I have after consistantly writing every week for one full year and failing to meet my goals.

It’s easier to make an audience from an audience

My original goal when I started in January of 2021 was to have 2000 subscribers by the end of the year. As I write this it is the last week of December and I have 327 subscribers.

I knew newsletters with tens of thousands of subscribers and some had thousands of subscribers within their first month. I thought I had a growth hack they didn’t have. How hard could it be?

When I started the newsletter I had about 7000 Twitter followers and thought I could leverage a fraction of that number to spread the word of my newsletter. I intentionally created a format that I thought would be sharable on social media and a name I thought would be unique.

There is a gif in each issue and if I made it really easy to share the gif I thought it would help the word to spread. Part of the reason I created the format I did was because I thought issues of the newsletter could go viral, or at least gain some momentum from readers sharing their favorite gifs, insights, and links on social media.

I spent many nights learning about open graph, Twitter video cards, javascript and making it so that every post could be shared with an embedded video with the weekly gif . I failed a few times with different technologies and in the end it just didn’t matter.

To this day I have seen one social media post from someone clicking the share button I thought would be a breakout success. They only reason they clicked the share button was because I asked for someone to share that issue.

I learned that the best way to grow your audience is from an existing audience or slowly over time. Many of the people I know with tens of thousands of subscribers have been running their newsletters for 3+ years. Others who got thousands of subscribers got them because they had a large audience or had people with large audiences share their newsletter.

Most of the newsletters I know of are news aggregators. Give people value by saving them time with human curation and maybe link summaries. It’s a big value proposition and one of the reasons I subscribe to so many newsletters. It’s a very clear what you’re getting when you sign up for the newsletter or look at a couple old issues.

But it wasn’t the format I had. My goal was to teach people different aspects of what it meant to be a developer and give them some related links or tools. Which means I needed to find an audience. Not people who wanted to get the best news from the week, but people who wanted to learn from my experience as a developer.

But my existing audience on Twitter was likely the wrong audience. I needed to find more entry level software developers or people trying to get into tech. Until I found the right audience the newsletter content wasn’t going to add value for a lot of people because the content I usually share online is very niche.

Even though Twitter is still the primary place I promote the newsletter, I started hanging out in different audiences. I intentionally engage with people doing #100DaysOfCode and Twitter spaces for people looking to get into tech or learning to be a developer. I don’t promote the newsletter directly, but engaging in those places naturally help people find the newsletter when they click on my profile. I don’t intentionally make the content for beginners, but I find they’re the ones searching for new content the most.

Don’t split your subscribers

In addition to the 326 subscribers I have 321 followers on the Twitter account. Creating a Twitter account was a mistake.

I thought it would be good to have a newsletter brand, but in reality it either split the audience or it duplicated count. I’m not quite sure.

I might shut down the twitter account in the future, but I haven’t figured out how to promote the newsletter itself. The website is invisible because it just redirects to Revue, and without a social media presence I’m not sure how other people gain a lot of subscribers without having a large audience or letting it grow organically over time. I’m open to hear your thoughts and suggestions.

If you want to get a big subscriber base right away the easiest thing to do is to have an audience on another platform and share the newsletter there. If you don’t have a large audience anywhere then the next best thing is to go find the audience you want and start adding value in that community.

Find people with the audience you want and engage with them. Add value to their posts in comments and extend who can find you by not waiting for the audience to come to you.

Email is personal

I’m thankful for everyone who subscribes. Seriously, it’s really cool that you get the emails over RSS or following on Twitter.

Your inbox probably gets a lot of messages. You may be strict about what you sign up for or you may filter all my emails to the trash. It doesn’t really matter.

But I learned that a lot of people treat email different than anything else they do online. It’s not social media with frequent comments, likes, or shares. It’s not a blog posts with infinite open tabs or read later queues.

Email is different. Many people stop multi-tasking when they read email.

They’re going through messages sent to them and they do it with a mission. The mission isn’t to learn something or deeply read about a topic. Many people put off reading extremely long emails.

I think the mindset people are in while reading emails is a big reason the share button never worked. People don’t want to post their personal emails to the world. It’s not the mindset or content they think of when reading emails. It’s personal.

It could also be that my gifs and content aren’t very good. I may never know.

But I do know that I rarely see people who share and only a handful of people have every replied or given feedback.

Pick the right platform

When I started the newsletter I picked Buttondown as my newsletter platform. It was simple enough to get started and powerful enough to one day automate the things I wanted to.

I still wanted to publish all the content to my own static website because that was the only way I could get the share button to work the way I wanted, but Buttondown’s flexibility ended up making me focus too much on the platform and not enough on the content. It also didn’t have integrations for posting issues of the newsletter, organizing potential content, or a Twitter profile link.

Most people probably don’t care about those integrations but I was having hard time organizing potential links and remembering to share content without building things myself. I’m not opposed to building things, but I spent far too much time building and not enough time focusing on content.

When I saw that Revue was getting Twitter profile integrations I knew I needed to switch. Twitter was the only place I was promoting the newsletter and having a link to 123dev.email was not resulting in new subscribers.

I didn’t want to lose my existing issues in Buttondown and Revue doesn’t accept markdown content or import from Buttondown so I meticulously trasferred every issue and scheduled them to publish. Once all the issues were published—Revue only lets you publish one per day—I imported my existing subscribers and switched the website sign-up form.

This triggered spam detection on my account and I was locked out for over a week. I wish I would have picked Revue from the begining. It’s not as automation friendly but gives me a lot of good enough features for the current subscriber size.

Have a backlog of themes

If you’re not publishing a news aggregation newsletter then you’re likely going to be writing some original content for the newsletter. Original content can be more shareable, but it might be hard to do on a weekly cadence.

Most weeks I share something I’ve learned recently. But I don’t learn shareable content every week and plenty of times I don’t write anything original.

If you learn something new it might be better to track your resources and save them until you have enough to create a full newsletter. Not only will it be easier to write and share content together but creating themed issue with tantalizing titles will likely get you better click rates.

I don’t have hard numbers but I suspect it’s better to have unoriginal content than to skip weeks until you do. My fallback is to pick out a handful of tools from my GitHub stars and try to create a theme around them.

If you’re not publishing news content it’s also helpful to re-publish some of your old issues. It’s likely that many of your subscribers have not read your backlog and because the issues are topical instead of based on recent events it makes it easier to take a week off. I might even do that next year.


My best advice if you want to start a newsletter is do it now. Figure out a pace that works for you and be consistent. Find content that’s original and give yourself enough flexibility so that you’ll still enjoy writing 1 year or 5 years later. Write content that you would want to see in your inbox.

Don’t be upset if you don’t have huge growth (or even double digit growth). You’re going to have to promote yourself and your newsletter to get more subscribers. How and where you should do that I’m not sure yet.

While you’re at it please subscribe to 123dev . 🙂

Follow me

Here's where I hang out in social media