Quantifying the Social Pulse of Open Source.
Impact Tracker is a next-generation GitHub App that analyzes repositories to measure their social impact. Using AI-driven classification, geographic diversity mapping, and community health scoring, we help organizations and contributors understand the real-world value of their code.
Impact Tracker is built with a primary focus on Civic Technology, Social Good, and Transparency in Government and Open Source. By providing quantifiable metrics for open-source social impact, we aim to:
- Democratize Data: Make impact metrics accessible to non-profits and community-driven projects.
- Support Global Goals: Align open-source work directly with the United Nations Sustainable Development Goals (SDGs), specifically:
- Goal 11 (Sustainable Cities and Communities): Fostering inclusive and sustainable urbanization through civic tech.
- Goal 16 (Peace, Justice and Strong Institutions): Promoting transparent, accountable, and inclusive institutions at all levels via open-source governance.
- Goal 9 (Industry, Innovation, and Infrastructure): Building resilient open-source infrastructure.
- Inclusion & Diversity: Promote geographic equity in software development by tracking contributor diversity.
- 🧬 AI Sector Classification — Automatically classifies repos using Google Gemini AI
- 🌍 Geographic Diversity — Maps contributor locations across 500+ cities worldwide
- 🌱 First-Timer Tracking — Rewards repos that welcome new developers
- 🏅 Embeddable Badges — Dynamic SVG badges for your README
- 📊 Impact Dashboard — Public, shareable dashboard with charts and maps
- 🔗 Deep GitHub Integration — REST API, GraphQL, Webhooks, and OAuth
- Node.js 20+
- pnpm 9+
- Docker (for PostgreSQL + Redis)
# Clone the repo
git clone https://github.com/your-org/impact-tracker.git
cd impact-tracker
# Install dependencies
pnpm install
# Copy environment template
cp .env.example .env
# Edit .env with your GitHub App credentials and API keys
# Start PostgreSQL + Redis
docker compose up -d
# Generate Prisma client
pnpm db:generate
# Push schema to database
pnpm db:push
# Start development servers
pnpm devThe API runs on http://localhost:4000 and the dashboard on http://localhost:3000.
Add an impact score badge to your README:
[](https://site--impact-dashboard--sz5jmqgz2jbh.code.run/repo/OWNER/REPO)Badge styles:
| Style | Example URL |
|---|---|
| Default | /api/badge/owner/repo.svg |
| Flat | /api/badge/owner/repo.svg?style=flat |
| SDG | /api/badge/owner/repo.svg?style=sdg |
| Dimension | Points | What it measures |
|---|---|---|
| Sector Relevance | 30 | AI classification + UN SDG alignment |
| Contributor Geography | 25 | Unique countries in contributor base |
| First-Timer Onboarding | 20 | Ratio of first-time contributors |
| Docs Accessibility | 15 | README quality + CONTRIBUTING + Code of Conduct |
| Community Health | 10 | Issue response time + PR merge rate + activity |
See docs/scoring-model.md for detailed formulas.
| API | Usage |
|---|---|
| REST API | Repo metadata, contributors, README content, community profile |
| GraphQL API | Contribution calendars, dependency graph manifests |
| Webhooks | Push, pull_request, issues, star, installation events |
| OAuth | Secure user login via GitHub identity |
impact-tracker/
├── apps/
│ ├── api/ # Node.js/Express backend (webhooks, scoring, badges)
│ └── web/ # Next.js 15 dashboard (React 19, Tailwind CSS 4)
├── packages/
│ ├── shared/ # Types, constants, utilities
│ ├── database/ # Prisma schema + client
│ ├── github-client/# Octokit wrappers (REST + GraphQL)
│ ├── classifier/ # Gemini AI + OpenRouter + rule-based fallback
│ ├── scorer/ # 5-dimension scoring engine
│ └── badge/ # SVG badge generator (badge-maker)
├── docs/ # API reference, scoring model, privacy policy
└── .github/ # CI/CD workflows
- Private repo data is never shared publicly and never used to train AI models
- Data is deleted within 90 days of app uninstallation
- See docs/privacy-policy.md for the full policy
MIT Made with love! And Passion! Open to Contribution!