https://github.com/o2sa/devimpact
A smart platform to compare developers by real impact in open-source β not just stars and followers
https://github.com/o2sa/devimpact
analytics comparison dashboard data-visualization developer-tools github github-api graphql nextjs nodejs octokit react scoring-system typescript
Last synced: 2 days ago
JSON representation
A smart platform to compare developers by real impact in open-source β not just stars and followers
- Host: GitHub
- URL: https://github.com/o2sa/devimpact
- Owner: O2sa
- License: mit
- Created: 2026-03-24T22:59:42.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-04-24T18:11:09.000Z (6 days ago)
- Last Synced: 2026-04-24T20:17:02.478Z (6 days ago)
- Topics: analytics, comparison, dashboard, data-visualization, developer-tools, github, github-api, graphql, nextjs, nodejs, octokit, react, scoring-system, typescript
- Language: TypeScript
- Homepage: https://dev-impact-mocha.vercel.app
- Size: 281 KB
- Stars: 12
- Watchers: 1
- Forks: 12
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# π DevImpact










## Preview
**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
- Octokit
---
## π Getting Started
### 1. Clone the repo
```bash
git clone https://github.com/O2sa/DevImpact.git
cd DevImpact
```
---
### 2. Install dependencies
```bash
pnpm install
```
---
### 3. Set up environment variables
Create a `.env` file:
```
GITHUB_TOKEN=your_github_token
```
---
### 4. Run the app
```bash
pnpm run dev
```
---
---
## π‘ API Example
The compare endpoint accepts one or more `username` query parameters.
### Example request
```bash
curl "api/compare?username=devimpact&username=octocat"
```
### Example response
```json
{
"success": true,
"users": [
{
"username": "octocat",
"name": "The Octocat",
"avatarUrl": "https://avatars.githubusercontent.com/u/583231?v=4",
"repoScore": 87,
"prScore": 64,
"contributionScore": 42,
"finalScore": 73,
"topRepos": [],
"topPullRequests": []
}
]
}
```
## π 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