How Luca Rossi Went From CTO to Solopreneur Making $300k/yr from a Newsletter

Luca Rossi writes the Refactoring newsletter, where he shares tips and advice on software engineering.

While the topic might sound boring, the newsletter itself is far from it. Luca is one of the most underrated newsletter operators I’ve come across.

I’ve had Luca on my list of “future deep dives” since Growth In Reverse started almost a year ago. Now that he’s hit 50k, I’m thrilled to publish this deep dive into how he grew the newsletter.

The Growth Timeline

Luca’s growth timeline is honestly refreshing. While he does post there, he’s not huge into social media which is a nice break from many of the other growth strategies we’ve seen.

luca rossi growth

Instead, he uses incredible systems, relationships, and a much more sustainable path in my opinion.

How He Makes Money

For a while, Luca was relying on paid subscribers for the bulk of his income, but he has diversified a bit more this year. Here’s what I’ve found about how he is making his income at this point.

Paid Newsletter

Luca runs his paid newsletter through Substack, offering people a chance to go deeper with the topics he writes about.

The pricing plans are $15 per month or $150 per year.

He also has group memberships for organizations to join together, as well as gift memberships if someone wants to buy it for a friend or colleague.

Since he has around 1,400 paid subscribers, let’s back into the numbers.

Even if each person bought the cheaper yearly membership, we’re looking at around $210,000 per year from paid subscribers alone.

Sponsorships

Luca does accept sponsorships for the free Monday issue of his newsletter as well.

He hasn’t always done a ton of sponsorships, but it seems like he has been leaning into this a bit more lately.

He offers two sponsorship placements in his newsletters:

  1. Primary placement: you can see an example above. He currently charges $2,000 for these.
  2. Secondary placement: a smaller, 2-sentence option towards the bottom of the email. These go for $800 each.

He also has an option for a sponsored guest post which runs $5k. He only accepts one of these per month.

As for revenue number, if he has one main sponsor per week, that’s an extra $104k per year.

This brings his revenue so far to over $300k per year.

If he gets secondary sponsors (which seem a little light so I didn’t include them in that number), that’s icing on the cake.

Coaching

Luca was doing private coaching as well, but I’m not sure if he still does. It was either $350 per month for 1 coaching call or $600 for two.

The pricing I found seems really low for his experience, so these numbers are probably wildly outdated which is why I’ll leave them off the total revenue numbers.

The Refactoring Growth Levers

I came across at least a dozen things we can learn from Luca, but here are some of the main growth levers:

  1. 🤝 Joining communities. Luca has gotten over 8k subscribers from this strategy alone. And the way he thinks about it is really smart.
  2. ♻️ Referrals & recommendations. These two strategies combined can really help grow your newsletter without much additional work on your end.
  3. ⚙️ Process & systems. The writing process Luca uses is really fascinating, but it’s also straightforward. I break down the entire thing so you can replicate this for yourself.
  4. 📱 Paid social ads. Luca has been very open about how he runs his Twitter ads to grow the newsletter. But he implements an interesting rule to make sure he’s not only growing via ads.
  5. 💪 Building loyalty. The paid side of his newsletter is really robust, and something we can all learn from, even if we don’t have a paid community.
  6. 🌀 Own an emoji. Luca has claimed an emoji for his newsletter, and the branding around it is impeccable.

1. Joining Communities 🤝

Luca knows the power of communities and has leveraged a few to build his own audience.

He mentioned on a podcast that he attributes around a third of his 25k subscribers (at the time) as coming from communities.

That’s more than 8k subscribers from communities alone. Wow.

Some of his favorites are Lenny’s Newsletter, The Generalist, Dev Interrupted, and Blogging for Devs.

Here’s what he had to say about being part of communities:

That last sentence about not being spammy is key.

If he was just linking to his own stuff all the time, he’d probably get kicked out.

The whole point of this is to engage and be part of the community, not someone who just writes about themselves. If you recall from the deep dive on Codie Sanchez, this was one of her big growth strategies as well.

Instead, he’s in there answering questions and helping people most of the time. Only occasionally will he post a link to his own articles.

But I did find one for you 🙂

Luca is part of a community on Slack that I’m also in, and he shared this article back when he was just a few months into the newsletter in April 2021.

You’ll notice that he didn’t just say “I wrote this piece today, hope you check it out.” He provided context and a little background about the piece before sharing the link.

That post got a number of likes, and multiple replies with full paragraphs of questions and people thanking him for sharing it.

I’d go out on a limb and say he probably got at least a few subscribers from this share.

2. Referrals and Recommendations ♻️

These two are part of my “passive growth trifecta” that I love talking about. Let’s dig into how he’s used them.

Recommendations

Substack launched its recommendations platform in May 2022 and Luca has seen great success with this.

In August 2022, he mentioned that around 20% of new subscribers were coming from the recommendations he was getting on Substack.

https://twitter.com/lucaronin/status/1562790328796454913

That’s a huge increase in the number of subscribers from a more passive growth strategy. I’ve seen similar success with the recommendations feature on ConvertKit.

While some of these subscribers might be a bit lower quality, you can also clean the ones that don’t open your emails later on.

Referral Program

He launched a referral program for the newsletter in August of this year, and it’s already brought in over 1,200 subscribers.

Being on Substack, there is also the ability to have a leaderboard, which creates a sense of competition around sharing his content.

I really wish I could do this for my own referral program.

Hey SparkLoop, when’s this coming?!

Back to Luca’s referral program, I’m hoping to oust that Mark guy from the list through people signing up from this deep dive. 🙂

Are there 36 of you out there who want to subscribe and help me out?

3. Processes & Systems ⚙️

“Flexibility is both a blessing and a curse.”

Luca said this when talking about working for himself.

It’s great to be able to work on what you want, but there is also no one holding you accountable to get these things done.

That’s where his systems come into play.

But that looming deadline also makes sure he is following a consistent routine.

Luca keeps his mornings free so he can write, as that’s when he is most productive. In the afternoons, he will do the other parts of running his newsletter, like replying to community members, posting on social, and more admin tasks.

By spending the mornings doing the most impactful thing for his business, he’s able to make sure he’s moving the needle forward and not just hoping he finds the time to write later on.

Let’s dig into the process a bit.

Luca’s Writing Process

I dug in and compiled notes from various places where he talked about his writing process. This is a little long but I think it was worth spelling out for you as this is going to change how I do things and wanted to share it.

Luca’s writing process consists of 7 steps:

The first step is something he is doing on a regular basis: taking notes.

These can be notes from articles he’s read, ideas he’s had, and even from articles he’s written.

Here’s how he organizes and takes notes.

Step 1: Taking Notes

When you’ve committed to putting out great content week in and week out, there needs to be some kind of process in place for coming up with and keeping track of ideas.

Luca has a very dialed-in process for keeping track of his notes, thoughts, and ideas for future posts.

He keeps two main kinds of notes:

  1. Reading notes – these are his notes about what he’s reading or learning.
  2. Evergreen notes – ideas and insights he is thinking about around specific topics

Here is a bit more context about each type of note he’s keeping.

Reading Notes

For his reading notes, he uses Readwise to highlight articles and books, and those get automatically filtered into his Notion database.

This collection of notes allows him to never start from a blank page when he goes to write.

He can simply run through his collection of notes and pull out topics he’s most interested in at the time or that are most relevant to the state of his industry.

But instead of simply highlighting things once and hoping he remembers the context, this process allows him to go back through those highlights and pull out further insights from re-reading the article or section of a book.

He was using Instapaper to highlight articles before, but it sounds like he’s switched over to the new Reader app from Readwise.

Evergreen Notes

These aren’t just random insights he’s having throughout the day either. He includes notes from articles he’s written as well so he can find common threads at a later date to link back to.

For each article, he pulls out 3-4 of these main concepts and creates a “note” for each one. He then links those notes back to a page he’s created for each article.

When you have written hundreds of articles, you can quickly forget all the tidbits of information you’ve shared before that would be relevant to an upcoming piece.

I love this strategy and want to implement something similar for myself.

He makes sure each note has these 3 characteristics:

  1. It’s short. He tries to keep these notes to the length of just a few tweets.
  2. Independent. Each note should make sense by itself, without needing a ton of additional context.
  3. Eternal. Because these are “evergreen”, they should be relevant for a long, long time.

He goes into detail more about this process here if you’re interested.

These notes are the core of what he uses to write his articles.

At any given time, he might have 15-20 potential drafts that are already started and have the highest amount of highlights and notes attached to them.

Step 2: Deciding What to Write

But how does he decide what to write?

He doesn’t spend too much time choosing an idea, because he has such a robust stack of notes he can sift through.

Over time, these notes come together and he can see connections forming.

Luca says he spends 30 minutes on this stage.

Step 3: The Six Questions

I really like this step of the process because it’s so formulaic.

Once he picks a topic to write about, he goes through these six questions to make the idea more robust:

Going through these questions really helps him see if the article is going to be compelling enough to even start writing it.

He only allows himself to spend 30 minutes on this, because at this point “if you happen to change your mind and scrap everything, you have only lost half an hour of work.”

Here is an example he shared:

I love this. And I do something similar but it’s not usually timed, which I’ll have to try out.

Step 4: Outline

Luca then spends 1 hour outlining his article. He took this from a masterclass he watched from James Patterson’s process.

One of the more important parts of this is that he tries to avoid full sentences to make sure he doesn’t end up writing instead of outlining.

Luca uses Notion to outline and each bullet point is more of a checkbox so he can check them off as he goes.

Here is an example he shared:

To do this, he tries to move quickly and spends no more than an hour on this step.

Step 5: Draft

He then takes that outline he created and starts writing more “enjoyable” sentences from it.

He gives himself 1 hour to spend on writing the draft for this. Again, he tries to write quickly and will cut the fluff in the next step.

“If you did a good job with the outline, and you are targeting something around 500-1000 words, you can do it in an hour.”

Step 6: Review

He will spend 2 hours on this step because it’s critical to putting out quality content.

Because he includes an illustration of most of the topics he writes about, this is a little more time-consuming as well.

People often refer to “second draft”, “third draft” and so on, but to me it’s a bit more blurry — I just keep editing until it’s Friday and I have to publish.

Luca Rossi

Step 7: Publish

The last step is pretty straightforward: hit publish.

He forces himself to publish at the same time on the same day which helps reduce any perfectionism he may have around the writing.

You quite literally don’t have the time to worry about making this a “perfect” piece when you have a looming deadline.

While you always want to put out the best content you can on the topic, there is always going to be something you can change about it.

“The workflow and the process is what makes the baseline level of quality that you never go below.”

Luca Rossi

By following a specific process for his research and writing, he’s able to make sure the quality never falls below the baseline he’s set for himself.

While the work won’t always be at an incredible, show-stopping level of quality, by creating this system, he makes sure it never falls below a certain standard.

We saw this last week when Sheehan Quirke shared a Leonardo da Vinci quote: “Your judgment must always exceed the work.”

What he means is you should never actually look back and be happy with every single piece of how it turned out.

Otherwise, you’ll know you’ve gotten complacent with your work.

4. Paid Social Ads 📱

While some creators stray away from using paid ads to grow their newsletters, Luca has incorporated these into his growth playbook.

He started using Twitter ads pretty early on in his journey and has seen great success with them.

Here is one of the ads he used on his journey to reach 10k subscribers.

In late 2021, he shared that his cost per subscriber was between ~€0.25-€0.40, which is pretty close to the USD equivalent.

That is incredibly cheap for a subscriber, especially now that he’s earning around $4.20 per subscriber per year.

But lately, in April of this year, he did say the free subscribers are now costing him around €2.50 each.

He does say that while he doesn’t see a huge difference in the quality of organic vs paid subscribers, he tries to keep a 50/50 split between the two so he’s never too reliant on paid subscribers.

5. Building Loyalty 💪

Luca does a great job at making his paying subscribers feel welcomed and heard.

There are a number of ways I’ve found that he is building loyalty among these folks which almost certainly reduces the “churn” he sees from people canceling their paid membership.

Community Contributors

The Refactoring Community is one of the benefits members get when they become paid subscribers. It’s a pretty vibrant community with people engaging and helping others.

And some of the community members engage so frequently that Luca considers them “contributors.”

These people write thoughtful comments and help him come up with ideas for improving some of his articles.

In return, he often shares their work and calls them out by name in his articles.

Upleveling His Content

Luca also posts about the articles he plans to write within his paid community on Circle.

And this isn’t just a “heads up, this is coming” type of thing.

He actually asks his community for feedback and will use their quotes within the article, mentioning them and/or linking to their work.

As I mentioned above, he considers some of these members as contributors because their input is so valuable.

Here’s a more recent example:

This creates a sense of loyalty within the community, but it also makes for better content because he’s incorporating more feedback than just his own.

Can you imagine if one of your favorite creators shared your thoughts on a topic and linked to your stuff? Extremely powerful.

It’s no wonder he has multiple people contributing so regularly they should probably be getting paid for their input 🙂

Events

Every other week, Luca brings in an expert in the field to discuss a specific topic for his paid subscribers.

This consistent value-add keeps people in the community and creates a sense of FOMO for those who have not yet joined.

Not only are these just recordings of the event, but you can show up live and ask questions of the guests he brings in.

Asking Why They Signed Up

One of the ways he gets community feedback is by asking for it after people subscribe.

On Substack, you can include this option in the signup flow for a new paid subscriber.

He asks why people decided to sign up and pay for the membership. He gets feedback like this:

https://twitter.com/lucaronin/status/1717067493754261740

Not only does this help him understand why people ended up pulling the trigger to buy, but also helps him improve the content.

This is extremely simple, but also brilliant in a way.

Jobs Space

Within the Circle community, he also has a place for people to post job openings they’re looking to fill. This not only provides value to those looking to make a career move, but also for the founders and leaders in the group who need to find great talent.

If someone is in a community like Luca’s, there is a great chance they are self-starters who are always trying to learn and become better at their role.

Engineering can be complex, and it seems like he is working to make the most comprehensive place on the internet for people to learn and grow within the space.

Learning Tracks & Refactoring Library

This last one is really interesting to me. Luca realized that he writes about multiple categories and started creating learning tracks around each one.

When you become a paid subscriber, you get access to these tracks which include full Guides and links to articles on specific areas within that topic.

It’s almost like a masterclass style of curating your own content into mini-courses.

Above is an example of the Engineering Management one. Each space has tools and other resources as well.

This reminds me of how Justin Gage from Technically did this as well.

He already has the content, he’s just packaging it up in a more cohesive way.

6. Own an Emoji 🌀

Luca has been using the same emoji in his branding since the beginning. Every email he sends includes this emoji.

It’s also in his social profiles to stay consistent.

More recently, he changed his logo to be a side view of that emoji, but it’s still the same concept.

The emoji he uses in the email subject lines stayed the same, but his “official” logo is a new version of this.

Ever since I’ve seen him use this, I think of Luca every time I see this emoji. It’s not a commonly used one so it really stands out.

How You Can Replicate This Success 🗺️

There are a number of ways you can use some of the ways Luca has grown his audience. Here are a few of my favorites.

Implement More Robust Processes

The writing process Luca uses is really incredible. Having a checklist and steps you follow every time you sit down to write can help make your work a little less “all over the place.”

Be an Active Member in Communities

I talk about this a lot, but being part of a community is the key to a lot of creators’ success.

But you need to do more than just sign up for a community – you need to engage there. Being a lurker doesn’t help.

Reply to other people’s posts, comment, and add value where you can. Eventually, people will start recognizing you as “the lady who knows everything about marketing” or “the guy who knows how to help you get healthier.”

Referrals and Recommendations

These two strategies can help “passively” increase the number of subscribers you have. You take the time to set them up once and can see the benefits over time.

Putting together a great referral program can do wonders towards helping your grow your audience. If your content is good, people will naturally share it.

But if your content is good and you incentivize people to share it, that’s where the magic happens.

Incentivizing people to share the newsletter can be as simple as having a leaderboard like Luca does.

But he also offers 3 or 6 months of his paid tier for free if you refer enough people to the newsletter.

This is a great way to get the people who enjoy your free stuff to start promoting it to others so they can get the free month of the paid content.

Plus, I’m sure a percentage of those people end up sticking around and paying for the newsletter after their free month is up. Super smart.

If you want to learn more about implementing the “Passive Growth Trifecta”, I’ve documented more about how I’ve used this here.

chenell basilio

Chenell Basilio

Chenell is the head writer and reverse engineer at Growth In Reverse. She spends her days researching newsletters, audience growth, and generally figuring out how to help others create better content.

She has an almost useless Bachelor's Degree in Geography, enjoys running, listening to podcasts, and eating guacamole. 🥑

Where I hang out on social media: