João Freitas

The following article describes the journey of Lago reaching the 1000 stars milestone on GitHub.

“The first 1000 stars are the hardest, then you’ll be unstoppable”, we heard.

We finally reached this milestone 180 days after opening our repo. What was our journey like?


In the early days of Lago (open source metering and usage-based billing API), we decided to publish an article twice a week. This cadence is hard to keep as we don’t have anyone fully dedicated to content, marketing or go-to-market in general. But consistency is key when building a startup, so we applied this discipline to content publishing.

We decided to “test and learn”, to identify the best angles by publishing regularly on HackerNews first. Even if you decide to publish one or two articles a week, a lot of them will drop away sharply into the depths on the platform. The his is totally fine! Keep publishing and learning from what ticked with this audience and it will pay off. By taking a look at the timeline below, about 3 or 4 articles out of 60 created got traction on HackerNews.

Explaining why something is hard

Communities, especially HackerNews, don’t resonate too much with blant self-promotion. We tried a few self-promoting posts… and no one cared. They might care when you’re a well known brand, but in the early days, it never works. What resonates though, is problems: why they’re not that simple, and ways to solve them.

That’s what we decided to double down on. We only bumped into this tweet from “PG” (Paul Graham, father of YC… and Hacker News) after learning this the hard way, but it says it all:

The 777-point Hacker News hit that got us 000 star

So we wrote another post (a bit depressed by the number of posts we made, that nobody cared about, but kind of persisted), this time around “why billing systems are still a nightmare for engineers”. After all these failed posts on HackerNews, we were losing hope, but it happened!

I remember, I had closed my laptop just after posting, ready to have a cold beer and my co-founder kept pounding me on Whatsapp asking me to come back online to help her answering the comments that kept flowing.

It was an incredible feeling.

The “only” drawback of this post was: we had not even opened our repository yet, and even if the website was up, our Github repository was still private.

However, we ranked #1 (not only on the front page, but #1) on HackerNews for more than 48 hours and got more leads, visitors and early signs of traction than ever. Not that bad for a non-launch!

After a hard pivot, it felt good to feel we had “hit a nerve”.

We also tried to post on Reddit,, Medium, Hackernoon, but our content didn’t resonate as widely as on Hacker News.

Heads down, but don’t get your hopes too high

We started having high expectations from Hacker News. The truth is, 90% of your posts will never get seen.

Here are what the following posts’ traction looked like:

We opened the repo on May 31st 2022, and couldn’t reproduce the Hacker News hit we got initially. It really felt like we had wasted a one-time opportunity.

We took about 8 weeks to get around the 300 stars mark, by sharing our content on social media, nurturing the leads we had, animating our community. But it felt quite slow.

Focusing on the questions we had in discovery calls

Circling back on PG’s tweet, we decided to focus on the top questions that kept coming back in our discovery calls and in our community Slack. And it paid off.

People didn’t get why generating PDF invoices was “more complex that it seemed”. Original post here.

They had no idea how much they paid to Stripe (that Stripe had 21 products, that their fees would add up, and that they were probably using several products without really knowing). Original post here.

For those who knew “Stripe Billing”, they didn’t get how Lago was different. We scratched our heads around a creative angle, and found one we really liked. If you were to have a pricing similar to “Stripe Payments” ($0.30 per transaction + 2.9%), you couldn’t use “Stripe Billing” to implement this (without many workarounds).

We were even blessed with an answer from the “Stripe Billing” team and, as pointed out by one of the commenters, our whole point was showing how the architecture of Stripe Billing isn’t flexible. Original post here.

Automating the flow for self-hosted users

The early traction provided by these articles created hundreds of self hosted signups. Unfortunately, not all of these signups would star our Github repository, even if they were actively using out product! It was very frustrating, and focused on fixing that asap.

Every time a user would sign up on the self-hosted product (without opting out), we would trigger a welcome email that invites the receiver to star our Github repository and join the community.

After releasing this automated flow, we’ve seen a spike for both KPIs.

Distribution > Production

When 4 out of our 60 articles got traction, we decided to create more and more content on a weekly basis. It was the race to production, more than the race to content distribution.

A parallel with product management would be to think you’ll have a spike in sign ups because you release 10 new features.

Of course, it doesn’t work this way. Hacker News is a “hit or miss” platform, so posting once and not seeing traction, shouldn’t deter you to keep posting.

Also, sharing your content on multiple channels help, sometimes people will organically repost your content on HN.

For instance, one of our most successful posts only took off the third time. My co-founder Anh-Tho had connected with Shawn (@Swyx) on Twitter who then decided to post it (thanks Shawn!).

Here is another example (unrelated to Lago) which only took off on the 3rd post:

In case you’re wondering:

The number of karma points from the “original poster” doesn’t impact how popular the post is going to be. The more karma points you have, the more your comments can be visible, and also, past 500 points, you get the right to downvote comments (but not the comments that are made directly to you). We read posts about the “best day/time”: we got hits and misses at different days and times, and haven’t truly found a pattern yet ‍

We hope it was helpful!

To sumarize:

Write about problems you found interesting and how you solved them Persist: the more you write, the easier it will be to produce content. Spend as much time distributing content on multiple channels (HN, Reddit, Twitter, Linkedin, Slack, your own newsletter…) than producing content. It all adds up at some point. Update: It took us 6 months to reach 1000 stars, and then only 14 days to reach 1500 stars! Keep pushing!

#reads #lago #open source #community #github