RepoStars
www.repostars.dev- Category
- Developer Tools
- Rank
- No. 2906Tools index
Previous survey · No. 2819 ·
- Pricing
- Free
- Type
- APP
- Use case
- Data Processing
- Interfaces
- Web
- Builder
- theorcdev
- GitHub
- 61 stars
- Date
About
Track and compare GitHub repository star history with beautiful, customizable charts. Helps developers and project managers visualize growth trends and compare multiple repositories over time.
What it does
A web app that plots how many people starred a public open-source project on each day since it was created. Type in up to five projects and they share one time axis, starting from the oldest creation date, so a newer project begins flat at zero. The data comes from an aggregate daily-count endpoint GitHub offers without exposing who starred. Projects younger than roughly three years plot one point per day; older ones switch to exact weekly totals. The chosen projects and theme live in the address, so a link reproduces the chart.
Why it's ranked here
It rebuilt star charting on data GitHub still serves. The README says most tools of this kind broke when per-stargazer timestamps were restricted, and this one reads the privacy-safe aggregate endpoint instead. The code backs that up: every weekly bucket is checked so its seven days sum to the stated total, any failed page aborts the whole fetch rather than drawing a partial curve, and the last point is pinned to the live total. MIT licensed, with unit tests covering those rules.
What's good
Accuracy is treated as a feature. When the history endpoint fails, the chart is drawn as a straight line from creation to today and marked as an estimate, never passed off as real data. The curve is capped so it cannot rise above the current total. Sharing is well covered: a copyable link, a README badge showing the last 90 days as an image, a post-to-X button, and phone exports that open the native share sheet. The app also keeps fetched histories in the browser for a day, so reopening a chart is instant.
Tradeoffs
Rate limits bite without a token. The README says a full history costs one request per 30 weeks of project age, and the anonymous allowance of 60 requests per hour covers only a few projects; a read-only token lifts that to 5,000. Self-hosters should note the sample environment file still says exact data needs admin access, which contradicts the README. The in-browser PNG button snapshots the page with web fonts skipped and widens labels to compensate, while the README describes a server-rendered export, so output may differ by path.
How to use it well
Use the hosted site for quick comparisons, launch retrospectives, or a live badge in a project README; pick the theme once and share the link rather than screenshots. For a canonical image, request the server export route instead of the in-page button. If you run it yourself, set a read-only token from the start, since old or several projects exhaust the anonymous allowance fast. It charts stars only: no forks, downloads, or contributor activity, and it cannot see private repositories.
Technical notes+
lib/github-star-history.ts calls GET /repos/{owner}/{repo}/stargazers/history with X-GitHub-Api-Version 2026-03-10, 30 weeks per page, up to 100 pages fetched six at a time; the page count comes from the Link header or is estimated from created_at. isStarHistoryWeek rejects any week whose days array is not seven non-negative integers summing to total. toStarHistory switches from daily to weekly points above DAILY_HISTORY_MAX_POINTS (1200), clamps to totalStars, and anchors a zero point at creation. lib/github.ts falls back to createFallbackEstimate with estimated: true. hooks/use-repos.ts caches results in localStorage for 24 hours under a versioned key and slices URL repos to five. components/export-bar.tsx uses html-to-image toPng at pixelRatio 2 with skipFonts. .env.example still describes the older admin-only timestamp limitation.
Observed
- License
- MIT
- Language
- TypeScript (Next.js App Router, React)
- Interfaces
- Web app plus HTTP image endpoints (share card, PNG export, SVG embed) and a JSON history endpoint
- Data source
- GitHub REST star history endpoint with aggregate per-day counts; no scraping
- Comparison limit
- Up to five repositories per chart
- Fallback
- Labelled straight-line estimate when the history endpoint fails
- Tests
- Vitest unit tests for history parsing, pagination and failure handling
- Install
- pnpm install and pnpm dev; optional GitHub token for higher rate limits
Read from README.md, package.json, LICENSE, .env.example, lib/github.ts, lib/github-star-history.ts, lib/repo-cache.ts, lib/github-star-history.test.ts, app/page.tsx, components/export-bar.tsx, hooks/use-repos.ts.
What it can do
Track GitHub repository star history
GitHub repository URL or name → Historical star count data over time
Generate star history charts
Repository star data → Visual charts showing star growth trends
Compare multiple repositories
Multiple GitHub repository URLs or names → Comparative analysis of star histories
Customize chart appearance
Chart styling preferences and parameters → Personalized chart visualizations
Visualize growth trends
Repository star data over time periods → Trend analysis and growth pattern charts
Tags
Tech Stack
Media
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.