The global network for top open-source developers β discover, connect, and celebrate the people behind the code
26,000+ developers Β· ranked by stars, commits, repo reach & StackOverflow reputation Β· searchable by skill, location & language
- Interactive 3D Globe β Explore developers pinned to their real-world locations using Three.js
- AI-Powered Search β Hybrid + vector search via Azure Cosmos DB (e.g. "AI & deep learning", "full stack JS dev")
- Composite Scoring β Each developer scored 0β100 across 6 dimensions
- Leaderboard β Filter by country, language, or sort by score/stars/commits
- Developer Profiles β Click any pin to see detailed stats, top repos, and contribution breakdown
- Mobile Responsive β Bottom-sheet filters and full-width search on smaller screens
git clone https://github.com/sajeetharan/devglobe.git
cd devglobe
npm install
npm run dev
# Open http://localhost:3000The app automatically falls back to the bundled sample data (20 developers) when no Cosmos DB credentials are configured. No API keys, no emulator, no setup β just clone and run.
Text search works fully offline. Vector/hybrid search requires Azure OpenAI (see Option 3).
For contributors working on the API layer or data pipeline:
-
Install the Cosmos DB Emulator β Download here (Windows, macOS via Docker, or Linux Docker)
-
Start the emulator and wait for it to be ready at
https://localhost:8081 -
Seed sample data into the emulator:
npm run seed-emulator
-
Create
.env.local(the seed script prints this for you):COSMOS_ENDPOINT=https://localhost:8081 COSMOS_KEY=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==
-
Run the app:
npm run dev
The emulator key above is Microsoft's well-known emulator key β it is intentionally public and only works locally.
For the complete experience including AI-powered search:
# .env.local
COSMOS_ENDPOINT=https://your-account.documents.azure.com:443/
COSMOS_KEY=your-cosmos-key
AZURE_OPENAI_ENDPOINT=https://your-openai.openai.azure.com/
AZURE_OPENAI_KEY=your-openai-key
EMBEDDING_DEPLOYMENT=text-embedding-3-smallnpm run dev| Layer | Technology |
|---|---|
| Frontend | React 19, Three.js (react-globe.gl), Next.js 15 |
| Search | Azure Cosmos DB (vector + hybrid search) |
| API | Next.js API Routes |
| Hosting | Vercel |
| Data Pipeline | Node.js scripts (GitHub GraphQL, StackOverflow API, geocoding) |
| Dimension | Weight | Source |
|---|---|---|
| GitHub Stars | 25% | Total stars across repos |
| GitHub Commits | 25% | Yearly commit activity |
| Repo Reach | 20% | Forks + watchers |
| SO Reputation | 15% | StackOverflow reputation |
| SO Engagement | 10% | Answer acceptance Γ count |
| Community | 5% | Followers + badges |
All dimensions are log-normalized to prevent outlier domination.
Requires API keys β copy .env.example to .env and fill in your tokens.
npm run fetch-github # Fetch top devs from GitHub GraphQL
npm run fetch-stackoverflow # Enrich with StackOverflow reputation
npm run geocode # Convert locations to lat/lng
npm run build-data # Run full pipeline
npm run upload-cosmos # Upload to Azure Cosmos DBβββ index.html # Entry HTML
βββ src/
β βββ main.jsx # App bootstrap + Vercel Analytics
β βββ App.jsx # Root component, data loading
β βββ components/
β β βββ Globe.jsx # 3D globe (react-globe.gl)
β β βββ Leaderboard.jsx # Ranked sidebar with filters
β β βββ SearchBar.jsx # Hybrid/vector search input
β β βββ DetailPanel.jsx # Developer detail card
β β βββ Header.jsx # Top bar with branding
β β βββ LoadingOverlay.jsx # Loading state
β βββ utils/
β βββ scoring.js # Composite scoring algorithm
β βββ format.js # Number formatting helpers
βββ api/
β βββ developers.js # List all developers
β βββ developer.js # Single developer lookup
β βββ search.js # Cosmos DB vector/hybrid search
βββ scripts/ # Data pipeline scripts
βββ styles/main.css # Dark theme styles
βββ data/
βββ developers-sample.json # Sample data for local dev
npx vercelRequired environment variables:
| Variable | Purpose |
|---|---|
COSMOS_ENDPOINT |
Azure Cosmos DB endpoint |
COSMOS_KEY |
Azure Cosmos DB key |
COSMOS_DATABASE |
Database name |
COSMOS_CONTAINER |
Container name |
Contributions are welcome! See CONTRIBUTING.md for setup instructions and areas where help is needed.
MIT β see LICENSE for details.
β Star this repo if you find it useful!
Built with β€οΈ by @sajeetharan