Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

183 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌐 DevGlobe β€” Developer Discovery for Humans and AI Agents

The global open-source developer discovery platform β€” search, compare, and connect with the people behind the code

Live Demo GitHub Stars License PRs Welcome

DevGlobe Demo

26,000+ developers Β· ranked by stars, commits, repo reach & StackOverflow reputation Β· searchable by skill, location & language

DevGlobe is an interactive global developer network built for engineering teams, open-source communities, and the emerging ecosystem of AI agents. It combines a 3D developer map with Azure Cosmos DB vector and hybrid search to surface relevant expertise from real contribution signals rather than popularity alone. The long-term vision is a consent-aware discovery layer where AI agents can find the right human collaborators.

🎬 Watch the DevGlobe Demo


✨ Features

  • 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
  • Agent-Ready Roadmap β€” Consent-aware discovery, MCP access, and developer-agent introductions are planned
  • Mobile Responsive β€” Bottom-sheet filters and full-width search on smaller screens

πŸš€ Quick Start

Option 1: Zero-config (sample data, no database needed)

git clone https://github.com/sajeetharan/devglobe.git
cd devglobe
npm install
npm run dev
# Open http://localhost:3000

The 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).


Option 2: Cosmos DB Emulator (full database experience locally)

For contributors working on the API layer or data pipeline:

  1. Install the Cosmos DB Emulator β€” Download here (Windows, macOS via Docker, or Linux Docker)

  2. Start the emulator and wait for it to be ready at https://localhost:8081

  3. Seed sample data into the emulator:

    npm run seed-emulator
  4. Create .env.local (the seed script prints this for you):

    COSMOS_ENDPOINT=https://localhost:8081
    COSMOS_KEY=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==
  5. 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.


Option 3: Full Azure backend (vector + hybrid search)

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-small
npm run dev

πŸ—οΈ Tech Stack

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)

πŸ“Š Scoring Formula (0–100)

Dimension Weight Source
GitHub Stars 20% Total stars across repos
GitHub Commits 20% Yearly commit activity
Repo Reach 15% Forks + watchers
SO Reputation 25% StackOverflow reputation
SO Engagement 15% Answer acceptance Γ— count
Community 5% Followers + badges

All dimensions are log-normalized to prevent outlier domination.

πŸ”§ Building the Full Dataset

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

Developer credentials

Verified community credentials are stored explicitly on each developer document. Do not infer them from stars, followers, or profile text.

{
   "login": "example",
   "specialTags": ["github-star", "microsoft-mvp", "aws-community-builder"]
}

Supported IDs: github-star, microsoft-mvp, google-developer-expert, docker-captain, cncf-ambassador, aws-hero, and aws-community-builder. The legacy docker-champion ID remains supported. The upload script preserves this field from source JSON, and the list, detail, and search APIs project it from Cosmos DB.

Populate exact GitHub-login matches from the official GitHub Stars, Google Developer Experts, and CNCF Ambassadors rosters:

npm run populate-special-tags             # Dry run
npm run populate-special-tags -- --apply  # Patch verified matches in Cosmos DB

The command preserves existing tags and is idempotent. Other credentials require an official profile that explicitly identifies the developer's GitHub account; do not populate them by matching display names.

πŸ“ Project Structure

β”œβ”€β”€ 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

🌍 Deploy to Vercel

npx vercel

Required environment variables:

Variable Purpose
COSMOS_ENDPOINT Azure Cosmos DB endpoint
COSMOS_KEY Azure Cosmos DB key
COSMOS_DATABASE Database name
COSMOS_CONTAINER Container name
COSMOS_ACTIVITY_CONTAINER Rolling GitHub activity container (activities)
ACTIVITY_INGEST_SECRET Bearer secret for the activity collector endpoint

Live developer activity

The Activity tab is anonymous and shows a rolling 24-hour feed for indexed developers. Create its dedicated Cosmos container before deployment:

npm run setup-activity-container

Deploy functions/activity-ingest as an Azure Timer Function and configure these application settings:

ACTIVITY_INGEST_URL=https://your-site.example/api/activities/ingest
ACTIVITY_INGEST_SECRET=the-same-secret-configured-on-the-site

The timer invokes the collector every minute, matching GitHub's advertised polling interval. GitHub's public Events API is best-effort and may delay or omit events; the 15-second browser refresh does not guarantee GitHub source delivery within that interval. A valid GITHUB_TOKEN is required for full three-page collection; anonymous fallback inspects one page only. The Cosmos activity container uses a 48-hour TTL while the API exposes only the latest 24 hours.

🀝 Contributing

Contributions are welcome! See CONTRIBUTING.md for setup instructions and areas where help is needed.

πŸ“„ License

MIT β€” see LICENSE for details.


⭐ Star this repo if you find it useful!

Built with ❀️ by @sajeetharan

About

🌍 The global network where developers and AI agents discover, connect, and collaborate.

Topics

Resources

Code of conduct

Contributing

Stars

16 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages