Skip to content

abiprivacylab/gitgyan

Repository files navigation

GitGyan 🌌

Where Developers Find Wisdom

GitGyan is an open-source, AI-powered GitHub discovery engine that scans 500,000+ repositories weekly, scores them by signal strength, and surfaces the ones gaining momentum β€” before they go viral.

Live GitHub Stars License: Apache 2.0 Built with Claude


What is GitGyan?

GitHub creates 500,000+ repositories every week. Most are noise.

GitGyan filters that down to the repos that actually matter β€” using a signal scoring algorithm that weighs star velocity, momentum, fork adoption, and community activity. Every high-signal repo gets an AI summary powered by Claude Haiku, so you understand what it does and why it matters in seconds.

544,476 repos on GitHub this week
  11,006 analyzed by GitGyan AI
      20 high-signal picks today

Features

  • πŸ”₯ This Week β€” Fresh repos gaining momentum right now (not old viral repos)
  • ✦ AI Summaries β€” Claude Haiku analyzes each repo: what it does, why it matters, who should care
  • ⭐ Signal Scoring β€” Algorithm weighs star velocity, momentum, fork ratio, and community health
  • πŸ”₯ Viral Detection β€” Catches repos going viral before mainstream discovery
  • 🌐 10 Languages β€” Rust, Python, TypeScript, Go, C++, JavaScript, Swift, Kotlin, Java, C
  • πŸ€– 13 AI Topics β€” Claude, MCP, LLM, AI-Agent, OpenAI, LangChain, RAG, and more
  • πŸ“Š Nightly Sync β€” Automated GitHub sync runs at 2am UTC every night
  • πŸ’¬ Community Feedback β€” Leave feedback with GitHub profile verification

Tech Stack

Technology Role
Claude Haiku AI summaries β€” $0.0002/summary, <2s response
Next.js 16 Full-stack React β€” frontend + API routes + cron jobs
Supabase PostgreSQL β€” repos, daily stats, feedback, viral alerts
GitHub Search API Data source β€” nightly sync across languages and AI topics
Vercel Deployment + cron job scheduler
TypeScript End-to-end type safety

How It Works

Every night at 2am UTC:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Phase 1: Fetch by Language              β”‚
β”‚ 10 languages Γ— 100 repos = ~1,000 repos β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Phase 2: Fetch by AI Topic              β”‚
β”‚ 13 topics Γ— 100 repos = ~1,300 repos    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Phase 3: Update Daily Stats             β”‚
β”‚ GitHub global count β†’ Supabase          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         ↓
All repos scored by signal algorithm
         ↓
Users visit gitgyan.dev β†’ reads from Supabase (instant)
         ↓
Click any repo β†’ Claude Haiku generates AI summary
         ↓
Summary cached permanently for future visitors

Signal Score Formula

signal_score (0-100) =
  stars_gained_today  Γ— 0.40   (momentum)
  vs_7day_average     Γ— 0.30   (acceleration)
  fork_ratio          Γ— 0.20   (adoption)
  issue_activity      Γ— 0.10   (community health)

A repo that doubles its historical star average scores 90+. claw-code scored 97 the day it hit 100K stars.


Getting Started

Prerequisites

node >= 18
npm >= 9

Environment Variables

Copy .env.example to .env.local and fill in:

cp .env.example .env.local
# Supabase
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key

# Anthropic (Claude Haiku)
ANTHROPIC_API_KEY=your_anthropic_key

# GitHub API
GITHUB_TOKEN=your_github_token

# Vercel Cron Protection
CRON_SECRET=your_random_secret

Installation

# Clone the repo
git clone https://github.com/abiprivacylab/gitgyan.git
cd gitgyan

# Install dependencies
npm install

# Run development server
npm run dev

Open http://localhost:3000 to see GitGyan running locally.


Project Structure

gitgyan/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ page.tsx                    # Main trending feed
β”‚   β”œβ”€β”€ feedback/
β”‚   β”‚   └── page.tsx               # Community feedback page
β”‚   └── api/
β”‚       β”œβ”€β”€ repos/route.ts         # Fetch repos from Supabase
β”‚       β”œβ”€β”€ summary/route.ts       # Claude Haiku AI summaries
β”‚       └── cron/
β”‚           └── sync-github/
β”‚               └── route.ts      # Nightly GitHub sync
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ supabase.ts               # Supabase client
β”‚   └── supabase/
β”‚       β”œβ”€β”€ queries/
β”‚       β”‚   β”œβ”€β”€ repos.ts          # Repo queries
β”‚       β”‚   β”œβ”€β”€ languages.ts      # Language trend queries
β”‚       β”‚   β”œβ”€β”€ stats.ts          # Signal score + dashboard stats
β”‚       β”‚   └── viral.ts          # Viral alert queries
β”‚       └── functions/
β”‚           β”œβ”€β”€ ai-summary.ts     # Claude Haiku integration
β”‚           └── sync-github.ts    # GitHub sync functions
└── vercel.json                   # Cron schedule

Database Schema

Key tables in Supabase:

repos            β†’ 11,000+ high-signal GitHub repos
daily_stats      β†’ Daily GitHub global counts + averages
viral_alerts     β†’ Repos detected as going viral
feedback         β†’ Community reviews with GitHub verification
language_trends  β†’ Language ecosystem trends over time
repo_snapshots   β†’ Daily star count history per repo
trending_history β†’ When each repo appeared on trending

Deployment

Deploy to Vercel

# Install Vercel CLI
npm i -g vercel

# Deploy
vercel

# Set environment variables in Vercel dashboard
# Settings β†’ Environment Variables

Cron Jobs

The nightly sync is configured in vercel.json:

{
  "crons": [
    {
      "path": "/api/cron/sync-github",
      "schedule": "0 2 * * *"
    }
  ]
}

Runs every night at 2:00 AM UTC.


Contributing

GitGyan is open source and we welcome contributions! πŸŽ‰

Good First Issues

Look for issues labeled good-first-issue on GitHub:

  • 🟒 Add language filter pills to the feed
  • 🟒 Add dark/light mode toggle
  • 🟒 Improve mobile responsiveness
  • 🟒 Add copy link button to repo cards
  • 🟒 Add keyboard shortcuts for navigation
  • 🟒 Add repo age badge

How to Contribute

# Fork the repo
# Create your feature branch
git checkout -b feat/your-feature

# Commit your changes
git commit -m "feat: add your feature"

# Push to your fork
git push origin feat/your-feature

# Open a Pull Request

Roadmap

Now (Data Collection Phase):
βœ… Nightly GitHub sync running
βœ… AI summaries on demand
βœ… Community feedback page
βœ… Signal scoring algorithm
βœ… Viral detection (Phase 4)

Month 2:
β–‘ Repo Insight Page (star history charts)
β–‘ Language Explorer (real data)
β–‘ Weekly Archive page
β–‘ Batch AI summary pre-generation

Month 3 (Launch):
β–‘ Product Hunt launch
β–‘ GitGyan for Students
β–‘ "Show HN" with 90 days of data

Month 4-6:
β–‘ Watchlists (track repos you care about)
β–‘ Campus workshops & partnerships

Cost Breakdown

Building GitGyan is remarkably affordable:

Claude Haiku summaries:  $0.0002/summary
11,000 summaries total:  ~$3.00
Domains (gitgyan.dev):   $24/year
Vercel (Hobby plan):     Free
Supabase (Free tier):    Free
─────────────────────────────
Total cost to run:       ~$27/year + AI costs

Hard-Won Lessons

  1. Vercel's 5-minute timeout β€” Split long cron jobs into separate phases
  2. Calculate AI costs first β€” Haiku is so cheap you'll over-engineer caching
  3. Separate sync from reads β€” Nightly cron writes to Supabase, users read from Supabase (zero GitHub API calls during the day)
  4. GitHub total_count β€” One API call with per_page=1 gives you the global count
  5. Frontend without a designer β€” CSS variables + inline styles + Claude = production UI at $0

Live Stats


Built By

Abhishek Anand (@abiprivacylab)

Developer & Researcher Β· Originally from India Β· Based in Atlanta, USA for 16 years

Built with ❀️ and Claude AI


License

Apache 2.0 License β€” see LICENSE for details. The signal scoring algorithm and viral detection logic are proprietary and not included in this open source release.

GitGyan β€” Where Developers Find Wisdom 🌌

About

Claude-powered daily repo discovery. Find what matters in open source before everyone else does.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages