Skip to content

Latest commit

 

History

166 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DevImpact

πŸš€ DevImpact

License GitHub Stars GitHub Forks Contributors Last commit Commits Open issues Merged PRs

Language Β· TypeScript Framework Β· Next.js CSS Β· Tailwind

DevImpact is an open-source platform that compares software developers based on their real impact in the open-source ecosystem β€” not just raw numbers.

It evaluates developers using a smart scoring system that considers:

  • Repository quality πŸ“¦
  • Pull request impact πŸ”€
  • Community contributions πŸ’¬

🌟 Why DevImpact?

Traditional metrics (followers, stars, commit counts) are often misleading.

DevImpact focuses on:

  • βœ… Quality over quantity
  • βœ… Real contributions to valuable projects
  • βœ… Fair comparison between developers

🧠 Scoring System Overview

Each developer is evaluated using three main scores:

πŸ“¦ Repo Score (Builder Impact)

Measures the quality and impact of repositories owned by the user.

Factors include:

  • Stars ⭐
  • Forks 🍴
  • Watchers

πŸ”€ PR Score (Contribution Impact)

Measures contributions to other developers' repositories.

βœ” Only merged PRs are counted βœ” PRs to the user's own repositories are excluded

Factors include:

  • Target repository quality
  • PR size (additions/deletions)
  • Repository popularity
  • Contribution diversity

πŸ’¬ Contribution Score (Community Impact)

Measures community engagement.

Includes:

  • Issues opened in external repositories
  • Discussions participation

⚠️ Does NOT include commits or PRs (to avoid duplication)


πŸ† Final Score

The final score is a weighted combination:

Final Score =
0.45 Γ— Repo Score +
0.45 Γ— PR Score +
0.10 Γ— Contribution Score

πŸ‘‰ The ContributionScore is capped to prevent abuse.


βš–οΈ Key Design Principles

  • ❌ No self-inflation (own PRs excluded)
  • πŸ“‰ Diminishing returns to prevent spam
  • 🎯 External impact is prioritized
  • βš–οΈ Balanced scoring between builders and contributors

πŸ–₯️ Features

  • πŸ” Compare two GitHub users side-by-side
  • πŸ“Š Visual score breakdown (charts & insights)
  • 🧠 Smart ranking system
  • 🌍 Localization support (EN / AR)
  • ⚑ Fast API powered by GitHub GraphQL
  • 🧩 Extensible scoring system

πŸ› οΈ Tech Stack

Frontend

  • Next.js (App Router)
  • TypeScript
  • Tailwind CSS
  • Recharts

API

  • Node.js + Express
  • GitHub GraphQL API

πŸš€ Getting Started

⚑ Option A: Run Full Platform via Docker (Fastest)

Run the entire platform (Web App UI + PostgreSQL + Redis) in 2 simple steps:

# 1. Copy environment template and set GITHUB_TOKEN
cp .env.example .env

# 2. Start full platform
docker compose -f ops/docker/docker-compose.yml up -d --build

Then open http://localhost:3000 in your browser!


πŸ“¦ Option B: Run Locally with Node.js & pnpm

  1. Install dependencies:

    pnpm install
  2. Configure environment:

    cp .env.example .env
  3. Start local database & Redis:

    pnpm db:up && pnpm redis:up
  4. Run development server:

    pnpm run dev
  5. Calculate leaderboard scores manually:

    pnpm leaderboard:calculate

Leaderboard Worker & Infrastructure

The leaderboard score updates run via a dedicated background worker container using Docker & Supercronic.

For complete local setup, Docker Compose instructions, GHCR publishing, and VPS deployment documentation, see ops/README.md.

# Quick worker setup (pulls & runs published image)
cp .env.example .env
docker compose -f ops/docker/leaderboard-compose.yml pull
docker compose -f ops/docker/leaderboard-compose.yml up -d

🌍 Localization

  • Supported languages: English πŸ‡ΊπŸ‡Έ, Arabic πŸ‡ΈπŸ‡¦
  • Automatically detects user language
  • Allows manual switching
  • Easy to add new languages via /locales

🀝 Contributing

Contributions are welcome!

How to contribute:

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Open a pull request

Contribution ideas:

  • Improve scoring algorithm
  • Add new metrics
  • Enhance UI/UX
  • Add new languages 🌍

⚠️ Limitations

  • GitHub API rate limits
  • Some private contributions are not accessible
  • Scoring system is heuristic (not perfect)

πŸ’‘ Inspiration

DevImpact was created to answer a simple question:

β€œWho really has more impact in open-source?”


⭐ Support

If you like this project:

  • ⭐ Star the repo
  • πŸ› Report issues
  • πŸ’‘ Suggest features

About

A smart tool to compare developers by real impact in open-source β€” not just stars and followers

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

24 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages