DEV Community

Gingiris
Gingiris

Posted on • Edited on • Originally published at gingiris.github.io

GitHub Star Growth: 10 Tactics That Got Us 33K Stars (Real Data, 2026)

I want to be honest about the first tactic we tried: it didn't work.

In the early days of AFFiNE, we built it in private for six months, then clicked "make public" on a Tuesday morning and posted a quiet announcement on our personal social accounts. We got 47 stars in the first week. Which felt amazing — until we realized 38 of them were from people we already knew.

The 33,000 stars didn't come from doing one thing well. They came from finding 10 things that worked, doing them all at the same time, and then doing the whole thing again when the effect wore off. (It always wears off. The question is whether you've raised your baseline enough to launch from a higher floor.)

Here are the 10 tactics, in the order we figured them out.

Key Stats

Metric Data
Stars in week 1 6,000
Stars in 43 days 10,000
GitHub Trending appearances 28× in 5 months
Reddit impressions (open source launch) 80–100K
Reddit star conversion rate 5–8%
Stars from Reddit (cumulative) 2,000+

The Real Story: 6,000 Stars in 7 Days

When we launched AFFiNE in August 2022, we had one week of preparation time. These are the 10 tactics that drove 6,000 stars in the first week and 10,000 in 43 days.

They're ranked roughly by impact — the ones at the top of the list moved the needle most.


1. Concentrate Your Launch Window (48 Hours)

This is the single highest-leverage tactic. Not Reddit. Not HN. Not Product Hunt. All three, simultaneously, within 48 hours.

Here's why it matters: GitHub's Trending algorithm responds to velocity. A coordinated multi-channel push that drives 200+ stars in 24 hours will trigger Trending in your language category. Once you're on Trending, organic discovery does your marketing for you — thousands of developers browse Trending daily.

What we did: Day 1 was Reddit + Hacker News. Day 2 was Product Hunt + Twitter. By day five, we were #1 on GitHub Trending All Languages. We appeared on Trending 28 times between August and December 2022.

The counterfactual: if we'd spread those same posts across two weeks, we'd have driven maybe 20% of the stars with no Trending appearances.


2. English-Only, Overseas-First in Week One

The day before we launched, I told the team: don't post anything in Chinese for the first week. No WeChat Moments, no WeChat groups, nothing.

This wasn't modesty. It was about data integrity.

We were fundraising. Investors run scripts on GitHub data — they check velocity, geographic distribution, whether growth looks organic. If your first week of stars comes predominantly from one country, the read is: founders rallied their friends. Vanity metric.

We needed the data to be clean.

Result: First-week star geography was ~19% China, ~20% US, 10–15% Europe. A genuine global spread that held up in diligence. When we finally let the team post in Chinese on day eight, it layered on top of an already credible baseline.


3. Reddit: 2,000+ Stars, But Only With Community Credibility

Reddit was our biggest single distribution channel — at least 2,000 stars cumulative in the first month, from subreddits including r/selfhosted, r/opensource, r/programming, and r/PKMS.

But Reddit doesn't work if you show up as a stranger with a product link. You get downvoted or banned.

The approach:

  • Be an active community member before your launch — comment, help others, contribute
  • Build karma to at least 80 before posting anything promotional (post cat photos on r/catpics if you need to; you can get 200 karma in a day)
  • When you post, write like you're explaining something to a colleague, not pitching to a customer
  • Search the subreddit first — if you can find similar posts that weren't removed, you've found a format that works

One thing I track: during the open source launch, Reddit gave us 80–100K impressions with 5–8% star conversion. During a Product Hunt launch of the same product, Reddit gave 30–40K impressions with ~1% upvote conversion. The open source audience is significantly warmer to genuine developer tools.


4. README as Landing Page

Your README is the first thing developers see. If it doesn't answer "what is this, and why should I care?" in 10 seconds, you've lost them.

AFFiNE README structure:

  • Hero GIF above the fold (showing the product in motion)
  • One-sentence value proposition
  • Three bullet points of key differentiators
  • Quick start in five steps or fewer
  • Links to live demo and Discord
  • Star CTA: "⭐ If this is useful, a star helps others find it"

The star CTA sounds small. It's not. Developers who are already interested often won't star unless they're explicitly reminded it helps. The nudge converts.


5. GitHub Trending: The Flywheel, Not the Strategy

GitHub Trending is a multiplier, not a growth channel you can target directly. You can't just decide to be on Trending — you have to earn the velocity that triggers it.

Once you're there, the compounding is significant. Each Trending appearance gives you a slightly higher baseline of daily stars, from which the next spike can push you back onto Trending. This is how we appeared 28 times in five months.

Practical targets by category:

  • All Languages Trending: requires ~100+ stars/day sustained
  • Language-specific Trending (TypeScript, Python): easier — 30–50 stars/day is often sufficient
  • Time-period Trending (daily vs weekly): weekly is more achievable than daily, and persists longer

6. After 6,000 Stars: Stop Pushing, Start Listening

This is the tactic most growth guides skip.

After 6,000 stars, we made a deliberate change: we stopped all broadcast distribution and shifted entirely to 1v1 user conversations.

Every user who had exchanged five or more messages with us — in Discord, on GitHub, via email — got a calendar invite for a 30-minute call. No agenda except "tell us how you're using AFFiNE and what's broken."

Those conversations were worth more than any content we published. They told us which user segments were most engaged, what features actually mattered, and what the real blockers to adoption were. That insight shaped the next six months of product development.

The lesson: stars are a launchpad. After 1,000, the job is understanding which developers care, and why. That requires talking to them, not posting at them.


7. Awesome Lists: Slow Drip, Permanent

Awesome-* repositories are curated GitHub lists (awesome-python, awesome-react, awesome-selfhosted) with thousands of stars of their own. Getting added to the right ones gives you a permanent backlink and a steady stream of discovery traffic.

Our approach:

  • Searched "awesome [our category]" to find relevant lists
  • Read contribution guidelines before opening any PR
  • Opened an issue before submitting a PR — signals respect for maintainers
  • Started with smaller, niche lists before targeting high-traffic ones

One pattern we noticed: Chinese awesome-lists had a significantly higher acceptance rate (~75%) compared to English-language lists. Start there to build your track record before targeting the large, competitive lists.


8. Product Hunt for OSS: 200–600 Stars per Launch

A strong Product Hunt launch drives 200–600 GitHub stars. That's modest — but repeatable.

We launched on PH 30+ times over 18 months. The compounding effect: each launch reaches a new audience that hasn't seen us before, and each badge ("Product of the Day") on our README increases conversion from cold visitors.

PH stars are also high-quality stars — they come from developers and early adopters who are actively looking for tools. The follow-rate and engagement from PH stars is higher than average.


9. Developer Blog Content: The Long-Term Compound

Technical blog posts compound over time in ways that launch spikes don't. A well-written "How we built X" post can drive stars for years.

Content types that drove stars for AFFiNE:

  • Architecture decision posts ("Why we chose Y over Z")
  • "Building in public" posts showing progress and obstacles
  • Tutorial posts that teach a skill using AFFiNE as the tool

Distribution for each post:

  • Reddit (the relevant subreddit, not r/programming for every post)
  • Hacker News (the technical angle usually works on HN)
  • Dev.to (builds a parallel audience)
  • Newsletter curators (cold email works if the content is genuinely good)

The SEO from a cluster of these posts eventually starts generating stars on its own — people searching "how to build X" find your post, find the tool, star the repo.


10. Issue Response Time: The Trust Signal

This one is boring, which is why it matters. Developers check your open issues before deciding whether to use your project. What they're asking: is this abandoned?

An inbox full of unanswered issues from six months ago is the fastest way to lose a potential user.

Our rule: Acknowledge every issue within 24 hours, even if just to say "we're looking at this." Even a "this is on our roadmap" with a label keeps the project feeling alive.

The compound effect: well-maintained repos attract contributors, and contributors become your best advocates. They tell their friends, write blog posts, speak at conferences. This is how star growth eventually becomes self-sustaining.


The Full Timeline

Time Stars What Drove It
Day 1 0 → 1,000 Reddit + HN coordinated launch
Day 5 ~4,000 GitHub Trending #1 All Languages
Week 1 6,000 Trending compounding + Product Hunt
Week 2–4 Settling to ~100/day baseline Community engagement, follow-up content
Month 2–6 Steady growth SEO content, awesome lists, PH relaunches
Month 12 25,000 HN front page, multiple Trending appearances
Month 18 33,000 Sustained organic + content compounding

Key Takeaways

  1. Coordinate your channels — 48-hour concentrated launch beats a week of scattered posts
  2. Protect your data integrity — geographic distribution matters to investors; plan for it from day one
  3. Reddit requires community credibility — earn it before you need it
  4. After 1,000 stars, talk to users — distribution is a launchpad, not a strategy
  5. Consistency beats virality — 28 Trending appearances came from sustained cadence, not luck

Related Resources


📚 Related Reading

More tools → Growth Tools Directory

Top comments (0)