Skip to content

xiaoxiunique/1k-github-stars

Repository files navigation

1k GitHub Stars

Interactive treemap of 60k+ GitHub repositories with daily momentum, curated discovery, and language-level exploration.

Live site: https://ustars.dev

Overview

Homepage overview

Search example

Search results for "skills"

What it does

  • Projects tab: default repo map, with curated and guide-style repositories filtered out
  • Daily tab: highlights momentum using star-growth deltas from the latest snapshot
  • Awesome tab: brings back the filtered awesome / guide / tutorial / interview style repositories as a dedicated view
  • Language drill-down: click any language block to zoom into that language only
  • Hover metadata: repo created/updated dates are loaded from a static index instead of per-hover API calls
  • Search: matches repository name, description, and language labels across the active view

Data model

The app is driven by a single snapshot file:

  • data/repos.json — main repo dataset
  • public/repo-meta.json — lightweight hover metadata index

Each repo row currently stores:

  1. fullName
  2. stars
  3. forks
  4. langIdx
  5. description
  6. growth
  7. createdAt
  8. updatedAt

Refreshing GitHub data

Use the refresh script:

npm run refresh:growth

What it does:

  • refreshes stars / forks / timestamps from GitHub
  • computes growth against the previous local snapshot
  • writes a resumable progress file during long runs
  • snapshots the previous dataset into data/snapshots/
  • regenerates public/repo-meta.json

Local development

npm install
npm run dev

Open:

  • http://localhost:3000

Build

npm run build

This project is configured as a static export.

Cloudflare Pages deployment

The current deployment path is Cloudflare Pages:

npm run build
npx wrangler pages deploy out --project-name github-treemap --branch main

Repository structure

app/                  Next.js App Router pages
components/           treemap canvas, header, tooltip, panel
data/                 repo snapshot data
lib/                  grouping, filtering, classifier, metrics
public/repo-meta.json static hover metadata index
scripts/              data refresh scripts

Notes

  • The project intentionally separates the main treemap data from hover metadata to reduce runtime latency and avoid per-hover server/API requests.
  • Curated repositories are filtered at the data layer, not only in the UI, so homepage / language pages / daily view stay consistent.

About

Interactive treemap of 60k+ GitHub repositories with daily momentum, curated discovery, and language-level exploration

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors