Gain deeper insights into your favourite open-source GitHub repositories. Explore star trends showing daily stats.
See the codeExplore the full history of any GitHub repository.
A tool to explore the complete history of any GitHub repository. Not just stars, but commits, forks, PRs, issues, and contributors over time.
Exact daily star counts used to be the hard part — reconstructing them meant paging through every stargazer, so most tools sampled and drew a near-straight line for large repos. GitHub's star history endpoint made that cheap for everyone in September 2026, which is a good thing.
So the point of this tool isn't the star curve on its own — it's the context around it: what the repo was actually doing at the time (commits, PRs, issues, contributors), what was said about it on HN, Reddit and YouTube when a spike happened, how two repos compare side by side, and the aggregations that turn a noisy daily series into a trend.
| Feature | What it does |
|---|---|
| 📈 Full Star History | Complete daily star counts for any repo |
| ⏰ Hourly Stars | ⚠️ Unavailable — see Star history and the 2026 API changes |
| 🔀 Compare Repos | Side-by-side comparison of any two repositories |
| 📊 Activity Timelines | Commits, PRs, Issues, Forks, Contributors over time |
| 📌 Pin Favorites | Bookmark repos for quick access without retyping |
| 📰 Feed Mentions | See when repos were mentioned on HN, Reddit, YouTube, GitHub |
| 💾 Export Data | Download as CSV or JSON |
| 🌙 Dark Mode | Easy on the eyes |
Stars are a bit controversial, but clearly valued. Many repos show them prominently and even ask for them.
They don't always correlate with quality though. Plenty of great tools stay small, while others blow up due to timing, distribution, or hitting the right audience.
See Factors contributing to daily stars for an explanation of why some repos get high numbers of stars.
Still, getting stars feels good and can be motivating. Feedback and engagement matter even more.
This tool shows you the trajectory so you can make informed decisions about which libraries to use, which projects to contribute to, and which ones to watch.
emanuelef.github.io/daily-stars-explorer
No signup. No cookies. No ads. Just paste a repo and explore.
See exactly when a repo went viral and why.
https://github.com/emanuelef/daily-stars-explorer/assets/48717/f5e96d63-3807-43fb-9838-3de56355124e
https://github.com/emanuelef/daily-stars-explorer/assets/48717/9b14f989-ffc2-4b54-a17c-03284f0327f5
Kept for the record. Hourly resolution needed per-stargazer timestamps, which GitHub no longer exposes — see Star history and the 2026 API changes.
If you want to run locally or self-host you can use the docker image available in ghcr.
Requirements:
.env file (refer to .env.example)Note: Only PAT is required. The other environment variables are needed if you want to visualize feeds from different providers (HN, Reddit, YouTube).
PAT can be generated with no access to any of your repos—it's just needed to call GitHub's public APIs. Get one at github.com/settings/tokens
# 1. Create .env with your GitHub PAT
echo "PAT=your_github_token" > .env
# 2. Run
docker run --rm --env-file .env -p 8080:8080 ghcr.io/emanuelef/daily-stars-explorer:latest
Open localhost:8080. Done.
Note: Since the move to the star history endpoint, star charts work without a PAT — a full history costs ~1–33 requests and unauthenticated REST allows 60/hour. A PAT raises that to 5,000/hour and is still required for the other timelines (commits, PRs, issues, forks, contributors), which use the GraphQL API.
# Backend
cp .env.example .env && go run main.go
# Frontend (separate terminal)
cd website && npm install && npm start
kubernetes/kubernetes)In mid-2026 GitHub restricted access to the stargazer listing endpoints
to repository admins and collaborators, to protect user privacy. The restriction covered the GraphQL
Repository.stargazers connection too, which is what this tool walked to reconstruct daily history — so star
charts stopped working for repositories you don't own (#363).
On September 4, 2026 GitHub shipped a purpose-built replacement: New API endpoint provides privacy-safe star history data (REST docs).
GET /repos/{owner}/{repo}/stargazers/history
It returns star counts aggregated into weekly buckets with per-day breakdowns, and never exposes who starred anything. Daily Stars Explorer now builds its charts entirely from this endpoint.
Why this is a big improvement. The old approach paged through stargazers 100 at a time, so cost scaled with the number of stars. The new one returns 30 weeks per request, so cost scales with the age of the repo:
| Repository | Stars | Old: ~requests | New: requests | Measured time |
|---|---|---|---|---|
gofiber/fiber | 40K | ~400 | 13 | ~1.3s |
kubernetes/kubernetes | 126K | ~1,260 | 23 | ~1.4s |
Every repository on GitHub fits in at most ~33 requests, so the first fetch went from minutes to seconds.
What this changed for the tool:
starredAt
timestamps, and the aggregate endpoint's finest granularity is one day. There is no API that can restore it.stargazers_count by a star or
two (deleted or suspended accounts).The tool offers various ways to aggregate and analyze star data beyond simple daily counts.
See aggregate.md for a detailed explanation of:
| What | Details |
|---|---|
| Initial fetch time | A second or two, even for repos with 100K+ stars — the star history endpoint returns 30 weeks per request. |
| Cached data | Once a repo is fully fetched, it's cached for 7 days. Subsequent visits only fetch the delta (new stars since last update). |
| No hourly stars | The aggregate endpoint's finest granularity is one day, and per-stargazer timestamps are no longer available. |
| Star totals | Reconstructed from GitHub's aggregate, which can differ from stargazers_count by a star or two (deleted or suspended accounts). |
| Other timelines | Commits, PRs, issues, forks and contributors still use the GraphQL API and still need a PAT. |
Limited Error Handling
Currently, the project has limited error handling. I plan to improve this aspect, which includes implementing warnings to alert users when the rate limit might hinder the completion of the star retrieval.
UI and Code Quality
I'm aware that the user interface and code quality have room for improvement. Your feedback and suggestions are welcome as I continue to refine these aspects.
PRs welcome! Open an issue or submit a pull request.
JavaScript
48.6%
Go
34.9%
TypeScript
10.4%
CSS
3.1%
HTML
2.0%
Gain deeper insights into your favourite open-source GitHub repositories. Explore star trends showing daily stats.
See the codeExplore the full history of any GitHub repository.
A tool to explore the complete history of any GitHub repository. Not just stars, but commits, forks, PRs, issues, and contributors over time.
Exact daily star counts used to be the hard part — reconstructing them meant paging through every stargazer, so most tools sampled and drew a near-straight line for large repos. GitHub's star history endpoint made that cheap for everyone in September 2026, which is a good thing.
So the point of this tool isn't the star curve on its own — it's the context around it: what the repo was actually doing at the time (commits, PRs, issues, contributors), what was said about it on HN, Reddit and YouTube when a spike happened, how two repos compare side by side, and the aggregations that turn a noisy daily series into a trend.
| Feature | What it does |
|---|---|
| 📈 Full Star History | Complete daily star counts for any repo |
| ⏰ Hourly Stars | ⚠️ Unavailable — see Star history and the 2026 API changes |
| 🔀 Compare Repos | Side-by-side comparison of any two repositories |
| 📊 Activity Timelines | Commits, PRs, Issues, Forks, Contributors over time |
| 📌 Pin Favorites | Bookmark repos for quick access without retyping |
| 📰 Feed Mentions | See when repos were mentioned on HN, Reddit, YouTube, GitHub |
| 💾 Export Data | Download as CSV or JSON |
| 🌙 Dark Mode | Easy on the eyes |
Stars are a bit controversial, but clearly valued. Many repos show them prominently and even ask for them.
They don't always correlate with quality though. Plenty of great tools stay small, while others blow up due to timing, distribution, or hitting the right audience.
See Factors contributing to daily stars for an explanation of why some repos get high numbers of stars.
Still, getting stars feels good and can be motivating. Feedback and engagement matter even more.
This tool shows you the trajectory so you can make informed decisions about which libraries to use, which projects to contribute to, and which ones to watch.
emanuelef.github.io/daily-stars-explorer
No signup. No cookies. No ads. Just paste a repo and explore.
See exactly when a repo went viral and why.
https://github.com/emanuelef/daily-stars-explorer/assets/48717/f5e96d63-3807-43fb-9838-3de56355124e
https://github.com/emanuelef/daily-stars-explorer/assets/48717/9b14f989-ffc2-4b54-a17c-03284f0327f5
Kept for the record. Hourly resolution needed per-stargazer timestamps, which GitHub no longer exposes — see Star history and the 2026 API changes.
If you want to run locally or self-host you can use the docker image available in ghcr.
Requirements:
.env file (refer to .env.example)Note: Only PAT is required. The other environment variables are needed if you want to visualize feeds from different providers (HN, Reddit, YouTube).
PAT can be generated with no access to any of your repos—it's just needed to call GitHub's public APIs. Get one at github.com/settings/tokens
# 1. Create .env with your GitHub PAT
echo "PAT=your_github_token" > .env
# 2. Run
docker run --rm --env-file .env -p 8080:8080 ghcr.io/emanuelef/daily-stars-explorer:latest
Open localhost:8080. Done.
Note: Since the move to the star history endpoint, star charts work without a PAT — a full history costs ~1–33 requests and unauthenticated REST allows 60/hour. A PAT raises that to 5,000/hour and is still required for the other timelines (commits, PRs, issues, forks, contributors), which use the GraphQL API.
# Backend
cp .env.example .env && go run main.go
# Frontend (separate terminal)
cd website && npm install && npm start
kubernetes/kubernetes)In mid-2026 GitHub restricted access to the stargazer listing endpoints
to repository admins and collaborators, to protect user privacy. The restriction covered the GraphQL
Repository.stargazers connection too, which is what this tool walked to reconstruct daily history — so star
charts stopped working for repositories you don't own (#363).
On September 4, 2026 GitHub shipped a purpose-built replacement: New API endpoint provides privacy-safe star history data (REST docs).
GET /repos/{owner}/{repo}/stargazers/history
It returns star counts aggregated into weekly buckets with per-day breakdowns, and never exposes who starred anything. Daily Stars Explorer now builds its charts entirely from this endpoint.
Why this is a big improvement. The old approach paged through stargazers 100 at a time, so cost scaled with the number of stars. The new one returns 30 weeks per request, so cost scales with the age of the repo:
| Repository | Stars | Old: ~requests | New: requests | Measured time |
|---|---|---|---|---|
gofiber/fiber | 40K | ~400 | 13 | ~1.3s |
kubernetes/kubernetes | 126K | ~1,260 | 23 | ~1.4s |
Every repository on GitHub fits in at most ~33 requests, so the first fetch went from minutes to seconds.
What this changed for the tool:
starredAt
timestamps, and the aggregate endpoint's finest granularity is one day. There is no API that can restore it.stargazers_count by a star or
two (deleted or suspended accounts).The tool offers various ways to aggregate and analyze star data beyond simple daily counts.
See aggregate.md for a detailed explanation of:
| What | Details |
|---|---|
| Initial fetch time | A second or two, even for repos with 100K+ stars — the star history endpoint returns 30 weeks per request. |
| Cached data | Once a repo is fully fetched, it's cached for 7 days. Subsequent visits only fetch the delta (new stars since last update). |
| No hourly stars | The aggregate endpoint's finest granularity is one day, and per-stargazer timestamps are no longer available. |
| Star totals | Reconstructed from GitHub's aggregate, which can differ from stargazers_count by a star or two (deleted or suspended accounts). |
| Other timelines | Commits, PRs, issues, forks and contributors still use the GraphQL API and still need a PAT. |
Limited Error Handling
Currently, the project has limited error handling. I plan to improve this aspect, which includes implementing warnings to alert users when the rate limit might hinder the completion of the star retrieval.
UI and Code Quality
I'm aware that the user interface and code quality have room for improvement. Your feedback and suggestions are welcome as I continue to refine these aspects.
PRs welcome! Open an issue or submit a pull request.
JavaScript
48.6%
Go
34.9%
TypeScript
10.4%
CSS
3.1%
HTML
2.0%