This project is an open-source tool that analyzes the influence of users who have starred or forked a given GitHub repository. It provides insights into the "importance" of these users based on their GitHub activity and follower count, helping repository owners understand the reach and impact of their projects.
![]() |
![]() |
|---|---|
| Enter a Repo URL to Start Getting the Data | After Completing the Analysis, View the Results |
If you just want to try it out, you can access the live version at influential-stars.com.
My GitHub API key is used in the live version, so it will likely be pretty rate limited (I've attempted to deal with this gracefully, but if a lot of people try to use it with repos that have a lot of stars, it's going to get overwhelmed pretty quickly). If anyone who works at GitHub/Microsoft is reading this, I would love to get a higher rate limit for this project or some special API key I can use for it, since I think this is a pretty useful tool for people who make open source software and want to better understand their user base. In the meantime, you can also supply your own GitHub API key in the input field to get around the rate limiting (see instructions below for how to generate one).
- Analyzes stargazers and forkers of a specified GitHub repository
- Calculates an "influencer importance score" for each user
- Displays detailed user information including total stars, followers, and recent activity
- Implements intelligent caching using SQLite to improve performance and reduce API calls
- Handles GitHub API rate limiting gracefully
- Allows users to securely use their own GitHub API keys
- Provides a responsive web interface with real-time progress updates
- Data Collection: The application fetches stargazers and forkers of the specified repository using the GitHub API.
- User Analysis: For each unique user, it retrieves additional information such as their repositories, followers, and recent activity.
- Score Calculation: An "influencer importance score" is calculated based on the user's total stars, followers, contributions, and recent activity.
- Result Presentation: Users are ranked by their score, and the results are displayed in a user-friendly table format.
The backend is implemented using Next.js API routes and utilizes the following key libraries:
@octokit/rest: For interacting with the GitHub APIbetter-sqlite3: For efficient local caching of API responses
Key features of the backend include:
-
Efficient API Usage:
- Implements concurrent processing of user data with a configurable concurrency limit
- Utilizes GitHub API pagination to handle large datasets
-
Intelligent Caching:
- Uses SQLite to cache repository and user data
- Implements a time-based cache invalidation strategy (default TTL: 20 hours)
-
Rate Limit Handling:
- Implements exponential backoff when hitting rate limits
- Provides real-time status updates to the frontend during rate limit waits
-
Streaming Response:
- Utilizes a streaming response to provide real-time progress updates to the frontend
The frontend is built using React and Next.js, providing a responsive and interactive user interface. Key features include:
- Real-time Updates: Displays progress and status messages during the analysis process
- Responsive Design: Utilizes Ant Design components for a clean, modern UI that works well on various screen sizes
- User API Key Management: Allows users to securely input and store their GitHub API key in the browser's local storage
- Node.js (v14 or later recommended)
- npm or yarn
- A GitHub account and API key
-
Clone the repository:
git clone https://github.com/Dicklesworthstone/most-influential-github-repo-stars.git cd most-influential-github-repo-stars -
Install dependencies:
npm install -
Set up environment variables: Create a
.env.localfile in the root directory and add your GitHub API key:GITHUB_API_KEY=your_api_key_here
-
Start the development server:
npm run dev -
Open your browser and navigate to
http://localhost:3000
- Enter a GitHub repository URL in the input field
- Click "Analyze" or press Enter
- Wait for the analysis to complete (you'll see real-time progress updates)
- View the results in the table below
To use this application, you'll need a GitHub API key. Here's how to generate one using the gh CLI tool on Ubuntu:
-
Install the GitHub CLI:
sudo apt update sudo apt install gh -
Authenticate with your GitHub account:
gh auth loginFollow the prompts to complete the authentication process.
-
Generate a new API key:
gh auth tokenThis will create and display a new Personal Access Token.
-
Copy the generated token and use it in the application or set it as the
GITHUB_API_KEYenvironment variable.
- The application allows users to input their own GitHub API keys. These keys are stored securely in the browser's local storage and are never sent to the server.
- Always use HTTPS in production to ensure secure transmission of API keys and other sensitive data.
- Be cautious when analyzing repositories you don't trust, as the application will execute code to process the repository data.
- The application currently processes a maximum of 3000 users per repository to manage processing time and API usage.
- Future versions could implement more advanced caching strategies or database solutions for improved performance.
- Additional metrics could be incorporated into the influencer score calculation for more accurate results.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.

