There's a moment, somewhere around 8,000 stars, when you stop caring about the total and start caring about the rate.
I remember the exact day this happened for AFFiNE. We had been publishing our star count in every investor update, every press mention, every "about us" page. One of our advisors pushed back: "The number doesn't tell me anything. Show me the growth curve. Show me when it accelerates."
So I pulled the full star history. And for the first time, I could see it: not a single smooth curve but a series of spikes — each one corresponding to a specific event. A Hacker News front page appearance. A GitHub Trending day. A particular Reddit post that hit r/programming. The gaps between the spikes told the story too. (Our lowest week was 23 stars total. That was the week after a conference when nobody was doing anything.)
Here's how to read your own star history — and what to do with it.
TL;DR
- GitHub stars history shows how a repo gained popularity — velocity matters more than raw count
- Use star-history.com for instant visual charts, GitHub API for raw timestamped data
- Spikes tell you what distribution channels worked; the baseline between spikes tells you if growth is sustainable
- AFFiNE: 0 → 1,000 in 72 hours, 0 → 6,000 in 7 days, 0 → 10,000 in 43 days
Why Track GitHub Stars History?
GitHub stars are the social proof of open source. But raw totals don't tell the full story.
A repo with 10,000 stars gained over 5 years is very different from one that got 10,000 stars in 2 weeks. Star history reveals the real growth story — whether traction is organic or spike-driven, whether the project is accelerating or stagnating, and which distribution channels actually move the needle.
I grew AFFiNE from 0 to 60,000+ GitHub stars. Tracking our own star history was one of the highest-value habits in that process.
How to Track GitHub Stars History
Step-by-step
- Go to star-history.com — paste your repo URL for an instant visual timeline. Free, no signup required.
- Compare with competitors — add up to 5 repos on the same chart to benchmark your growth trajectory.
- Pull timestamped data via GitHub API — for raw data beyond the chart:
curl -H "Accept: application/vnd.github.v3.star+json" \
"https://api.github.com/repos/OWNER/REPO/stargazers?per_page=100"
- Set up weekly tracking — screenshot your star-history chart every Monday to identify trends before they become obvious.
- Cross-reference spikes with activity — overlay your star chart with your content/launch calendar to identify which channels drive the most stars.
Tools comparison
| Tool | Type | Price | Best For |
|---|---|---|---|
| Star History | Web | Free | Quick visual charts, competitor comparison |
| GitHub API | API | Free | Raw data, custom analysis |
| OSS Insight | Web | Free | Deep analytics, community health metrics |
| Repo Analytics | Web | Free | Detailed per-repo stats |
| GitHub Insights (native) | Web | Free | Owner-only, 14-day window |
What Star History Tells You
Organic vs spike-driven growth
Healthy repos show a mix of both:
- Steady baseline (50–200 stars/day) between events
- Clean spikes that correspond to identifiable events
- Baseline rising gradually over months
Red flags:
- Sudden vertical spike with no clear cause → possibly fake stars
- Flat line after initial spike → project appears abandoned
- Declining baseline → losing relevance to competitors
Spike anatomy
After a successful launch event, the typical pattern:
- Hours 0–24: Spike peak (viral distribution)
- Days 2–7: Gradual decay as content circulates
- Week 2+: New baseline, higher than pre-spike
The new baseline is what matters most. A spike that doesn't raise the baseline means the audience didn't retain. A spike that raises your baseline by 20 stars/day means your project's reach permanently expanded.
AFFiNE Star History: The Real Data
Here's what our star history actually looked like:
| Period | Stars | What Drove It |
|---|---|---|
| Day 1–3 (Aug 2022) | 0 → 1,000 | Reddit (r/selfhosted, r/opensource) + HN |
| Day 5 | ~4,000 | GitHub Trending #1 All Languages |
| Week 1 | 6,000 | Trending compounding + Product Hunt |
| Week 2–4 | ~100/day baseline | Community engagement, follow-up content |
| Month 2–6 | Steady 50–150/day | SEO content, awesome-list additions, PH relaunches |
| Month 12 | 25,000 | Multiple HN posts, 28 Trending appearances |
| Month 30 | 60,000+ | Sustained organic + content flywheel |
The key pattern: Each Trending appearance raised our baseline by 10–20 stars/day. After 28 appearances over 5 months, our baseline was nearly self-sustaining.
Star Benchmarks
| Stars | What It Signals |
|---|---|
| 0–100 | Early stage, personal project |
| 100–500 | Gaining traction, early adopters |
| 500–1,000 | Legitimate project, worth trying |
| 1,000–5,000 | Established, active community |
| 5,000–10,000 | Well-known in the developer community |
| 10,000–50,000 | Significant project, press covers it |
| 50,000+ | Elite tier (React, Vue, TailwindCSS level) |
For fundraising: 1,000+ organic stars is a meaningful signal. Investors check your star growth curve — a smooth, multi-country distribution is more credible than a single-week spike.
Using Star Data for Decisions
As a maintainer
- Identify which content/launches drive spikes → double down
- Track competitor star velocity → find your benchmark
- Set milestone alerts → use star milestones as PR moments ("We just hit 10K stars")
As an investor
Stars indicate developer interest and marketing effectiveness — not user adoption. Look for:
- Multi-country distribution (global vs. concentrated)
- Organic growth pattern (not artificial spikes)
- Correlation with forks, issues, contributors
As a user evaluating tools
Before adopting an open source project:
- Verify stars are still growing (not stagnant for 12+ months)
- Check recent commit activity alongside star count
- Compare trajectory with alternatives
Common Mistakes in Star Analysis
Optimizing for total count, not velocity — a 1,000-star repo growing 200/month is healthier than a 5,000-star repo growing 10/month.
Ignoring geography — if 70%+ of stars come from one country in a concentrated burst, that's worth investigating.
Not tracking competitors — star charts are public. Use them as competitive intelligence to learn what content drives spikes in your category.
Missing the baseline signal — the spike gets attention, but the baseline rising after the spike is what tells you something permanently improved.
📚 Related Reading
| Category | Article |
|---|---|
| 📖 | How to Get More GitHub Stars: 0 to 60K |
| 📖 | 10 Proven Star Growth Tactics |
| 📖 | GitHub README Best Practices |
| 📖 | I Led AFFiNE from 0 to 60K Stars |
More tools → Growth Tools Directory
Top comments (0)