The right match in your mesh.
PeopleMesh is the AI-powered matching layer for modern organizations. It helps people discover the right colleagues, internal opportunities, communities, and projects through semantic search that understands context, not just keywords.
By combining embeddings with metadata-based ranking, PeopleMesh surfaces high-signal matches faster, cuts through noise, and improves internal mobility and collaboration.
Built privacy-first, PeopleMesh includes granular consent controls, configurable retention, and GDPR-aligned data rights workflows. Available via web app, API, and MCP integrations for AI assistants.
Open-source at the core. Enterprise-ready in practice. Never built on personal data monetization.
In large organizations, discovery is fragmented across chat, spreadsheets, and disconnected systems. PeopleMesh provides one search surface: describe what you need in natural language and get ranked matches across all node types.
- Search colleagues, internal opportunities, communities, and initiatives with one prompt (from web UI, API, or MCP clients)
- Build and enrich profiles (manual, CV import, OAuth import)
- Manage skill catalogs and self-assessments
- Discover relevant communities, projects, and initiatives
- Access PeopleMesh from the web app, API integrations, ChatGPT/Claude via MCP, or any AI agent that supports MCP
- Use MCP search through a prompt-based tool so query parsing stays server-side and consistent with the web experience
PeopleMesh models the organization as a single graph-like mesh where each entity is a node (people, opportunities, groups, communities, projects, initiatives, and more). Each node is converted into an embedding vector that captures semantic meaning from its content and metadata.
When a user searches, the query is embedded in the same vector space and matched against nodes using vector similarity (cosine similarity), then ranked to return the most relevant results.
PeopleMesh is built with security and privacy controls as first-class product constraints:
- Granular consent management by scope with user-controlled revoke/re-grant flows
- GDPR rights support in product flows (data export, account deletion, processing restriction)
- Configurable retention enforcement
- Pseudonymized audit trails (hashed identifiers, no profile content in logs)
- Protected maintenance surfaces (
X-Maintenance-Keyand optional CIDR allowlists)
Run locally with:
make startRequirements: Java 25+, Maven 3.9+, Docker.
DevServices auto-starts PostgreSQL (pgvector) and Docling.
The base runtime configuration targets OpenAI through LangChain4j.
The local dev profile is environment-driven: by default it uses a local Ollama endpoint through its OpenAI-compatible API and keeps Docling enabled for CV import.
To run the same dev profile with OpenAI-backed seeds and PDF import:
OPENAI_API_KEY=... \
CV_IMPORT_PROVIDER=openai \
DOCLING_DEVSERVICES_ENABLED=false \
DOCLING_BASE_URL=http://localhost:5001 \
DEV_SEED_PROFILE=openai \
mvn quarkus:devThis keeps the dev profile active, switches CV import to openai, loads the openai seed set, disables Docling DevServices, and provides the Docling base URL explicitly for extension bootstrap.
Technical documentation is organized in docs/README.md.
Open-source governance and legal documents:
Medium articles (friend links, no paywall):
- Part 1: We Are Dehumanizing Our Companies. AI Doesn't Have To.
- Part 2: How to Build a Semantic Discovery Layer for Your Company
Apache License 2.0. See LICENSE.
PeopleMesh core remains fully open-source under Apache-2.0. Official enterprise support and proprietary enterprise plugins/connectors (for example LDAP, Slack, LinkedIn, Workday) are available separately for organizations that need them. For enterprise inquiries, see SUPPORT.md.
- Author: Francesco Pace
- Website: peoplemesh.org
- Repo: github.com/francescopace/peoplemesh