# Open Source Pulse > Open Source Pulse tracks the hottest trending open-source projects on GitHub. Updated every 6 hours via GitHub API. Provides star counts, language filters, category filters (AI, tools, libraries, frameworks, apps), star history charts, rank shift tracking, weekly and monthly digests, and repo comparisons — all in a static zero-JS site. Key facts: - Data source: GitHub Search API (repos created in last 24h, sorted by stars) - Update frequency: every 6 hours via GitHub Actions cron job - Tech stack: Astro (static site generation), Tailwind CSS v4, TypeScript - Hosting: Vercel (auto-deploy on push to main) - All pages are pre-rendered static HTML — no server-side rendering - Repo quality score: 0-100 based on stars/forks ratio, recency, license, docs, topics, open issues ## Pages - [Trending Now](https://notionpulse.cc/): Latest snapshot of trending repos with star deltas, language filter, category filter, search, and pagination (25 per page) - [Weekly Digest](https://notionpulse.cc/weekly/): Top 10 repos with the biggest rank shifts since the last snapshot - [Monthly Digest](https://notionpulse.cc/monthly/): Aggregated top repos by total stars accumulated and most consistent appearances across all snapshots - [History](https://notionpulse.cc/history/): Browse all historical snapshot dates - [Compare Charts](https://notionpulse.cc/compare/): Side-by-side star history charts for the most-tracked repos - [Public API](https://notionpulse.cc/api/latest.json): Latest snapshot as JSON with CORS headers (cache: 6h) - [RSS Feed](https://notionpulse.cc/rss.xml): 50 most recent trending repos in RSS format ## Repo Detail Pages - [Repo Example](https://notionpulse.cc/repo/vercel/ai-chatbot/): Per-repo page with star history chart, quality score, topics, related repos, and GitHub link ## Language Filter Pages - [TypeScript](https://notionpulse.cc/language/typescript/): Trending TypeScript repos - [Python](https://notionpulse.cc/language/python/): Trending Python repos - [Rust](https://notionpulse.cc/language/rust/): Trending Rust repos - [Go](https://notionpulse.cc/language/go/): Trending Go repos - [JavaScript](https://notionpulse.cc/language/javascript/): Trending JavaScript repos - [Swift](https://notionpulse.cc/language/swift/): Trending Swift repos - [Kotlin](https://notionpulse.cc/language/kotlin/): Trending Kotlin repos - [Solidity](https://notionpulse.cc/language/solidity/): Trending Solidity repos - [C#](https://notionpulse.cc/language/c%23/): Trending C# repos - [HTML](https://notionpulse.cc/language/html/): Trending HTML repos ## Topic Pages - [Claude Code](https://notionpulse.cc/topic/claude-code/): Trending repos tagged with claude-code ## How It Works 1. GitHub Actions runs `scripts/collect-trending.ts` every 6 hours 2. The script fetches repos from GitHub Search API (created in last 24h, sorted by stars, top 100) 3. Anti-spam filter removes awesome lists, repos without descriptions, gaming cheats, and crypto scams 4. Each repo is classified into a category (ai, tool, library, framework, app, other) via keyword detection 5. A quality score (0-100) is computed from stars/forks ratio, push recency, license, docs 6. Rank shift is computed by comparing current position to the previous snapshot 7. The snapshot is saved as a JSON file and committed to the repo, triggering a Vercel deploy 8. Astro builds ~125 static HTML pages from all available snapshots ## Optional - [GitHub Repository](https://github.com/iwanro/notionpulse): Source code and setup instructions - [GitHub API Documentation](https://docs.github.com/en/rest/search): The API used to fetch trending repos - [Astro Documentation](https://docs.astro.build): The static site framework used