| .vscode | here it is! | |
| locales | here it is! | |
| public | here it is! | |
| src | here it is! | |
| .gitignore | here it is! | |
| .rsyncignore | here it is! | |
| icon.png | here it is! | |
| index.html | Visitor tracking via plausible | |
| package.json | Fix build | |
| README.md | here it is! | |
| vite.config.ts | here it is! | |
| vitest-setup.ts | here it is! | |
🌍 GitHub Nation Analyzer
Discover the geographic origin of any open source project. Analyze GitHub repositories to find out which country or company is behind them.
Source Code: codeberg.org/holtwick/ghnation
Features
- Country Detection - Identifies the likely country of origin based on multiple data sources
- Timezone Analysis - Analyzes commit timestamps to estimate developer working hours and timezone
- Contributor Mapping - Maps contributor locations to understand geographic distribution
- Organization Detection - Identifies corporate affiliations from GitHub organizations
- Email Domain Analysis - Extracts company affiliations from commit email domains
- Network Analysis - Analyzes follower/following networks for users without location data
- 130k+ Cities Database - Uses comprehensive geo-database for accurate location lookups
How It Works
The analyzer combines multiple signals to determine a repository's geographic origin:
- Owner Location - Direct location from the repository owner's profile
- Commit Timezones - Peak activity hours reveal likely timezone
- Contributor Locations - Geographic distribution of all contributors
- Organization Memberships - Known company organizations
- Email Domains - Corporate email patterns in commit history
- Bio & Website Analysis - Text analysis for location hints
Tech Stack
- Frontend: Vue 3 + TypeScript
- Backend: Zerva (Node.js)
- Geo Database: city-timezones, countries-and-timezones
- UI Components: oui-kit
- Styling: Stylus
Getting Started
Prerequisites
- Node.js 18+
- pnpm
Installation
# Install dependencies
pnpm install
# Start development server
pnpm dev
The app will be available at http://localhost:8080
GitHub Token (Optional)
For higher API rate limits, you can add a GitHub Personal Access Token in the app settings. Create one at github.com/settings/tokens.
Usage
- Enter a GitHub repository URL or
owner/repoformat - Click "Analyze"
- View the detected country, company, and confidence scores
- Explore detailed analysis including timezone, contributors, and sources
API Limitations
- Without a token: 60 requests/hour
- With a token: 5,000 requests/hour
Each analysis uses multiple API calls (repo info, contributors, commits, etc.), so a token is recommended for frequent use.
License
This project is licensed under the European Union Public License 1.2 (EUPL-1.2).
See LICENSE or https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 for details.
Contributing
Contributions are welcome! Please feel free to submit issues and pull requests.
Acknowledgments
- city-timezones - City geo-database
- countries-and-timezones - Timezone mappings
- GitHub REST API - Data source
Author
Dirk Holtwick - holtwick.de