December 31

Lesley Sim

Co-founder of Newsletter Glue

2020 recap

This is my personal perspective on our 2020 journey.

A quick summary

  • I learnt a tremendous amount this year. We did well, but not as well as I hoped.
  • I deeply treasure and appreciate all the friendships I’ve made with people online this year.
  • We’re just beginning.

I’d like to acknowledge upfront that Covid-19 made this a tough year. But because Ahmed and I have both worked remotely for years, it had little impact on our approach or journey. Hence, this is the first and last mention of the virus in this post. I hope this gives you a slight reprieve from all the doom and gloom surrounding it as well.

I hope you enjoy the post.

The beginning

Lesson learnt from a failed plugin ➡️ In 2020, you can't launch a WordPress plugin without a clear target customer and unbeatable differentiator… and expect to succeed. Click To Tweet

I met Ahmed, Newsletter Glue’s other founder, on Indiehackers in late 2019. He was looking for a marketing and business co-founder for a membership plugin he’d developed called Memberchimp.

Ahmed is the kick-ass first and lead developer of Ultimate Member, and he’d left to venture out on his own. The Memberchimp plugin was great, but Ahmed needed help marketing it.

After a quick email exchange, we agreed to team up and began working together.

I quickly rebranded the plugin to Member Hero, built the website and started looking for initial customers.

I completely failed.

Not only could I not get a single paying customer, I couldn’t even get users to try the free plugin.

Here’s what went wrong:

Historically, plugins are specific features a person adds to their WordPress site. Membership plugins are no different.

Enjoying this post? Don't miss out on the next one.

They’re use case agnostic.

This used to be the standard approach, 5-10 years ago, when the market was less saturated and people were searching desperately for the plugins they needed.

These days, there are 58,000 free plugins on the WordPress directory. It’s no longer sufficient to build a feature, because most features have already been built.

Instead, you have to build a solution to a specific problem for a specific person. This might sound like semantics, but it’s the difference between building yet another form plugin that can’t get traction and being the most secure form plugin for government organisations.

Put more succinctly, entering a mature and competitive market means we needed a clear target audience and unbeatable differentiator.

Unfortunately, we had neither.

I was confident our plugin was great – after all, Ultimate Member has more than 100,000 active users and Ahmed built it.

But having a great plugin isn’t enough to stand out. A differentiator can’t be 10x better. It must either be a feature that either doesn’t currently exist, or is 1000x better than the current offering.

If not, inertia will always be your greatest enemy. Most things just aren’t worth the hassle, even a super amazing plugin that’s 10x better than the competition.

We were ready to give up.

After 3 months of trying to make it work, we didn’t get anywhere.

We even briefly spoke to some potential investors, but that fell through.

We were ready to call it quits and go our separate ways.

Spinning off a new plugin

Lesson learnt from pivoting ➡️ If you aren't getting traction, don't discard. Reframe or repurpose first. In other words, PIVOT. Click To Tweet

In thinking about Member Hero’s demise, I was sad about only one thing: We’d built a Mailchimp add-on that I’d been using every week for my own newsletter. With the add-on, I could build and send newsletters directly from WordPress. It was a feature inspired by Substack.

I was sad that feature would no longer be maintained, and I had no idea where I’d be able to find a similar feature.

It then dawned on me that if I liked and depended upon it so much and would have a hard time finding a replacement, then this feature had the real potential to work as a stand-alone plugin. We’d already built the functionality, so it would only take a month to build the rest of the plugin around it.

This new plugin also fulfilled the two success criteria I had just learnt:

  1. Plugins needed to have a specific target audience: In our case, that was newsletter writers.
  2. Plugins needed a key differentiator: For us, Substack was a new product, so there weren’t any similar WordPress plugins out there at the time. It was a blue ocean.

Validating our new idea

Lesson learnt about validation ➡️ Validation is crucial, but if you can't get it straight away, it doesn't mean your idea sucks. It might mean you need to talk to more or different people. Click To Tweet

Scarred by our previous experience, and having read The Mom Test, I approached this new plugin very differently.

First, I validated the idea. I published a post on Indiehackers called Substack but on WordPress? and published similar versions of the post on various Facebook groups too.

This quickly got me about a hundred interested people, about forty of whom gave me their emails.

In true Mom Test fashion, I did email and video interviews with about a dozen of them. The biggest eye-opener for me here was the breadth of different WordPress set ups that existed.

Interestingly, if I had followed the Mom Test rigidly, I wouldn’t have proceeded with Newsletter Glue.

You see, the Mom Test encourages you to ignore what people say, and focus instead on what they’ve done. Unfortunately, despite hearing a lot of positive feedback, I couldn’t find for a single person who had searched for the solution I was building.

By this point, the plugin was almost ready. But because I couldn’t find a single perfect customer, I almost called it quits.

In the last moment, we decided to launch.

We proceeded because the plugin was already built, and I realised I hadn’t actually spoken to enough people to know, definitively, that the idea sucked.

You see, in the early stages, being unable to find the perfect customer doesn’t necessarily mean your product idea is bad. It could also mean you haven’t asked enough people, you’ve asked the wrong people, or you’ve explained your product poorly/wrongly.

Identifying the symptom (no early traction) is one thing… But diagnosing the true problem is another.

In my case, I was sure the product was valuable, because I’d been using it by this point for a couple of months. I just needed to find more people who agreed.

With this reasoning, we launched.

Launching on the WordPress directory

Lesson learnt from launching ➡️ Celebrate the small things. Then get back to work – because baked into the definition of "launch" is the fact that you've only just started. Click To Tweet

To some, having people use their free plugin might not seem like a big deal. In fact, it might seem like a bad deal because now you have to support users who aren’t paying you.

Personally, I was elated.

Having failed to get free users for Member Hero and failed to pass the Mom Test for Newsletter Glue, I was expecting the worst.

So having people find our plugin and actually start using it felt amazing.

I was similarly excited to get our first 5-star review by a complete stranger who found us on the WordPress directory.

But this was still day 0. We still didn’t have a paid plugin and the hard work was only just beginning.

We didn’t go from 0 to hundred over night. It took us two months, to be exact.

In that time, we fixed bugs, built new features, spoke to users, and built the website.

Funny story: When it was time to start work on our website, I tried searching for the domain in order to buy it and found it was already taken. I was really upset… Until I realised I was the one who bought it months ago! 🤣

Getting help from strangers on the internet

Lesson learnt from building in public ➡️ Do it. Building in public made it easier for me to build trust for the product and get the help I needed. Click To Tweet

One of the mistakes we made with Member Hero was not building in public. Nobody knew us, so it was hard to trust us when it came time to sell.

I wasn’t going to make the same mistake twice.

With Newsletter Glue, I built in the open on Twitter, Indiehackers and Facebook groups from day 1. I also joined private paid communities, my two favourites are MegaMaker and Post Status.

This gave me marketing opportunities (in the form of podcasts and newsletters); helped me build relationships with fellow plugin developers and WordPress professionals, and granted me access to a huge pool of people I could look to for advice.

I now feel like I know so much more about the WordPress community and the way WordPress itself works than I did at the start of the year.

Being active on Twitter also made it much easier for people to ask me pre-sale questions directly or seek support via DMs. Obviously, this doesn’t scale. But at the beginning, one-on-one relationships matter most.

Lastly, I wasn’t expecting this, but writing daily on Twitter has improved my writing. I’ve learnt to communicate every idea with razor sharp clarity.

There’s a literal 100x difference in the reach of my clear tweets vs the rambly ones. I now apply this lesson everywhere.

Scoping and building the paid plugin

Lesson learnt from building a product: Take the time to figure shit out. Then de-scope and launch quickly. Click To Tweet

Once we launched the free plugin, I didn’t know what to do next. The original plugin was built off a specific feature that I was already using and knew was valuable.

I didn’t personally need anything else for my own newsletter, so there wasn’t an obvious next step based on personal experience that we could take for our paid plugin.

On top of that, neither of us had built Gutenberg blocks before. In fact, this was my first foray into software. We had to learn everything from scratch in a relatively new software environment that was constantly changing with limited documentation.

The combination of all this meant that building the paid plugin took time.

The funny thing is, most of the time was used in between the actual tasks.

You see, once you know what you want to design and code, it takes no time at all to do it.

It’s the thinking, tinkering and detours that take awhile.

Even though it feels like you’re just wasting time, this is actually the most important time you can spend. It’s when the good stuff happens.

Many of my best ideas came after holding a problem passively in my mind for weeks, then having the perfect answer come to me at 2am in bed.

To be clear, I don’t think this was because of our relative inexperience. I believe this is true of any new project, even outside of software development.

I don’t think there’s an optimisation or hack you can apply to speed this process up. You just need to get good at baking downtime into your timelines. Then ruthlessly cutting scope down the line to save time.

The second part is crucial.

I suspect a lot of people unnecessarily drag out development because they try to stick to the original plan and scope. Even though that plan was made without the information you have now, and at a point when you had more time.

For us, once we’ve messed around for a bit and are confident with what we can and cannot do, we build a small version of the feature and launch it. Improvements come later.

Often, the biggest improvements are unanticipated at the start, so ironically, launching early is a better way to build a good product than taking the time to perfect each feature.

Launching the paid plugin

Lesson learnt from launching: If you don't feel like vomiting, you've launched too late. Click To Tweet

It took about three months to build and launch the first paid version of Newsletter Glue.

In all honesty, we could easily have taken six instead.

As I mentioned above, it took us awhile to figure out what and how to build the paid plugin. But once we did, I arbitrarily drew a line in the sand, and we removed everything that couldn’t be done on time.

We launched the day before Black Friday.

In order to make the deadline, we made the following compromises:

  1. We launched with 5, not 7 of our planned features. This felt too little at the time, but it turned out people didn’t care at all.
  2. Next to no effort made with our check out flow. In fact, our first customer couldn’t even check out because we had configured it wrongly!
  3. Just launched with a single tweet. Nothing special and no follow ups planned.

We made $1,627 from 13 customers

Lesson learnt from a mediocre launch: We've all gotta start somewhere. It's okay to feel ashamed, just don't dwell on it. Figure out what to do next. Click To Tweet

The day of the launch, we made 2 sales.

The day after, I couldn’t get out of bed because I felt like a failure.

We’ve had more sales since then and I feel a lot better now. But I wanted to share this because it’s fine to have a shitty launch. It’s also fine to feel ashamed. Denying your feelings doesn’t make them go away.

It’s hard as hell, but embracing your feelings strips them of their hold over you. You’re then free to focus on constructive next steps.

On my end… Once I was done feeling sorry for myself and looked at Newsletter Glue objectively, I realised we have an awesome product. People actually use it, love it and rely on it for their newsletters.

What comes next

My plan for success in 2021: Keeping. Chipping. Away. Also, ruthless prioritisation. Click To Tweet

This year, I’m incredibly proud of Ahmed and myself.

At the start of 2020, I had never built software, scoped features or designed a product. And Ahmed had never built a single Gutenberg block.

So building a paid plugin that consisted entirely of blocks was a new challenge for both of us. We’ve come really far and I’m so proud of what we’ve built.

However, we’re just at the beginning. Our paid plugin is a month old and I’ve already got a year’s worth of ideas swimming around in my head.

Here’s a list of what we hope to do in 1Q2021:

Redesign our plugin. I’ve been learning UI design over the holidays and am eager to polish up our plugin. In particular, RefactoringUI and Learn UI Design were a tremendous help.

Add more email providers. This was a long time coming. We haven’t added any new providers in awhile because we’ve been focused on building the paid plugin. But in 1Q2021, we’ll be adding at least 3 new ones.

Newsletter patterns! Patterns are like templates in WordPress. You can use patterns we’ve designed for your newsletter or potentially even build your own. Save time and look good.

Content restriction and paid membership integrations. Frankly, I’m not sure how long this will take, but this will be our next big feature. You’ll be able to use Newsletter Glue for advanced content restriction.

And, rather than build payment features from scratch, we’ll just glue you to plugins and services who already do this well. Will have to think about how to make this happen in a seamless way.

Tutorials. On the marketing front, now that the blog is up, I’ll be writing more tutorials and posts like this one. We’ll also be partnering with other plugins to create webinars and tutorials so that their users can learn how to use us together.

There’s a lot of work to be done. And ultimately, only 2 people doing it. It’s easy to feel overwhelmed, pressured and intimidated. Frankly, I’ve been feeling that way a lot lately.

I need our $1k revenue to 10x asap. And I wish I could multiply myself to make that happen.

But in reality, I just need to do two things:

  1. Prioritise ruthlessly: I like to think I’m good at this, but I’m not. I often prioritise the stuff I’m interested in instead of what will make money. For example, I designed this blog from scratch. Instead, I should’ve bought a pre-made one, which would’ve saved me weeks of work that could’ve been used to write content.
  2. Accept that things take time: Worrying won’t make things go faster. And working 14 hour days will just lead to a burn out. So instead, I’ll just have to accept that things take time, pace myself and enjoy the process. Derek Sivers calls this concept relax for the same result.

Peace out 2020, you’ve been great. And if you made it to the end, you’re great too. Thank you for reading.

found this post helpful?


You may also like

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}