People Analytics Toolbox

A consolidated monorepo of independent service spokes that downstream tools (Performix, vela, future apps) consume as services. Each spoke owns a Postgres schema, an API namespace, and a versioned contract — but they ship as one Next.js app, one deploy, one Supabase project.

They’re designed to be both independent (each spoke is invokable on its own contract) and combinable (their contracts compose into cross-spoke surfaces like the metric × segment factory).

overall: down46 live · 0 reserved · 5 coming soon

Service catalog

Each card is one spoke. Reads are public; writes require a service-key header. Click a sample to see a runnable request.

people-graph

ok · v0.2.0

schema: people_graphcontracts: 2latency: 116ms

prediction

ok · v0.1.0

schema: predictioncontracts: 1latency: 126ms

reincarnation

ok · v1.5.0

Adaptive psychometric diagnostic engine — universal items (RIDs), study items (SIDs), pool lifecycle (D/C/B/A/PURGATORY/INFINITY), information-gain item selection.

schema: reincarnationcontracts: 5latency: 127ms

List psychometric statistics across all galaxies.

GET /api/spokes/reincarnation/psychometric-feed · public read

curl -sS "https://people-analytics-toolbox.vercel.app/api/spokes/reincarnation/psychometric-feed"

diagnostic-coaching

ok · v0.1.0

schema: diagnostic_coachingcontracts: 4latency: 130ms

performance-calibration

ok · v1.1.0

schema: performance_calibrationcontracts: 7latency: 129ms

performance-validity

ok · v1.4.0

schema: performance_validitycontracts: 11latency: 126ms

preference-modeler

ok · v1.6.0

Survey response collection + preference modeling. Anonymity-gated aggregation across maxdiff, penny-allocation, paired-comparison, conjoint (MNL).

schema: preference_modelercontracts: 8latency: 129ms

Aggregated preferences for the seed survey, with per-segment breakdown.

GET /api/spokes/preference-modeler/surveys/pat3-survey-seed/preferences?bySegment=true · public read

curl -sS "https://people-analytics-toolbox.vercel.app/api/spokes/preference-modeler/surveys/pat3-survey-seed/preferences?bySegment=true"

program-evaluation

ok · v0.2.0

schema: program_evaluationcontracts: 6latency: 129ms

talent-value

ok · v0.5.0

schema: talent_valuecontracts: 5latency: 130ms

assessment-library

ok · v0.2.0

schema: assessment_librarycontracts: 5latency: 132ms

career-development

ok · v0.2.0

schema: career_developmentcontracts: 8latency: 132ms

leadership-quality

ok · v0.2.0

schema: leadership_qualitycontracts: 5latency: 133ms

interview-scoring

ok · v0.1.0

schema: interview_scoringcontracts: 5latency: 133ms

linkage-models

ok · v0.1.0

schema: linkage_modelscontracts: 11latency: 133ms

forecast-strength

ok · v0.1.0

schema: forecast_strengthcontracts: 7latency: 134ms

survey-orchestrator

ok · v0.17.0

schema: survey_orchestratorcontracts: 32latency: 136ms

network-analysis

ok · v0.3.0

schema: network_analysiscontracts: 5latency: 136ms

research-methods

ok · v0.4.0

schema: research_methodscontracts: 8latency: 146ms

career-pathing

down · v0.1.0

schema: career_pathingcontracts: 2latency: 137ms

causal-discovery

down · v0.1.0

schema: causal_discoverycontracts: 2latency: 146ms

comp-normalizer

down · v0.1.0

schema: comp_normalizercontracts: 2latency: 146ms

pay-structure-retention

down · v0.1.0

schema: pay_structure_retentioncontracts: 2latency: 147ms

job-similarity

down · v0.1.0

schema: job_similaritycontracts: 3latency: 149ms

data-anonymizer

ok · v1.2.0

PII detection (24-rule catalog, risk-prioritized overlap resolution), HMAC-keyed deterministic tokenization, redaction-with-spans, min-N privacy gate, 20-strategy transform.

schema: data_anonymizercontracts: 6latency: 234ms

List the 24 default PII detection rules.

GET /api/spokes/data-anonymizer/pii-rules · public read

curl -sS "https://people-analytics-toolbox.vercel.app/api/spokes/data-anonymizer/pii-rules"

segmentation-studio

ok · v2.13.0

HRIS canonical-field normalization + multi-membership cohort resolution + identity dedup (union-find) + recipe-derived dimensions + versioned pack publishing.

schema: segmentation_studiocontracts: 44latency: 234ms

Resolve the engineering-and-west cohort (returns memberIds).

POST /api/spokes/segmentation-studio/cohorts/resolve · requires service key

curl -sS -X POST "https://people-analytics-toolbox.vercel.app/api/spokes/segmentation-studio/cohorts/resolve" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOOLBOX_SERVICE_KEY" \
  -d '{
  "criteria": {
    "include": [
      { "dimensionKey": "department", "operator": "in", "values": ["engineering"] },
      { "dimensionKey": "region",     "operator": "in", "values": ["west"] }
    ]
  }
}'

calculus

ok · v1.17.0

Statistical enrichment (Wilson / normal / t / bootstrap CIs), trend classification, MetricEnvelope shape, metric × segment combinatorial factory, time-series imputation, anomaly detection.

schema: calculuscontracts: 17latency: 213ms

Classify a periods array as rising / stable / falling with OLS slope.

POST /api/spokes/calculus/stats/trend · requires service key

curl -sS -X POST "https://people-analytics-toolbox.vercel.app/api/spokes/calculus/stats/trend" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOOLBOX_SERVICE_KEY" \
  -d '{
  "periods": [
    { "period": "2025-Q1", "value": 70 },
    { "period": "2025-Q2", "value": 75 },
    { "period": "2025-Q3", "value": 80 }
  ]
}'

factor-models

ok · v0.6.0

schema: factor_modelscontracts: 11latency: 234ms

forecasting

ok · v1.4.0

Monte Carlo simulation + VOI / EVPI / EVSI decision-tree analysis. Deterministic seeded PRNG.

schema: forecastingcontracts: 8latency: 234ms

Run a 1,000-trial Monte Carlo over a single normal-distributed variable.

POST /api/spokes/forecasting/monte-carlo/run · requires service key

curl -sS -X POST "https://people-analytics-toolbox.vercel.app/api/spokes/forecasting/monte-carlo/run" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOOLBOX_SERVICE_KEY" \
  -d '{
  "tenantId": "__operator_demo__",
  "trials": 1000,
  "model": {
    "variables": { "x": { "shape": "normal", "mean": 100, "sd": 15 } },
    "expression": "x"
  }
}'

workforce-planning

ok · v0.6.0

schema: workforce_planningcontracts: 18latency: 214ms

anycomp

ok · v1.63.0

Compensation models, band placement, percentile-based recommendation engine, audit-trailed comp cycles.

schema: anycompcontracts: 27latency: 217ms

Evaluate one employee against the seeded compensation model.

POST /api/spokes/anycomp/evaluate · requires service key

curl -sS -X POST "https://people-analytics-toolbox.vercel.app/api/spokes/anycomp/evaluate" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOOLBOX_SERVICE_KEY" \
  -d '{
  "modelId": "<seed-model-id>",
  "employees": [
    { "employeeId": "E1", "dimensionValues": { "job_level": "L4" }, "currentPay": { "base": 150000 } }
  ]
}'

metrics-catalog

ok · v1.1.0

schema: metrics_catalogcontracts: 4latency: 234ms

org-graph

ok · v1.1.0

schema: org_graphcontracts: 9latency: 237ms

persona-library

ok · v0.2.0

schema: persona_librarycontracts: 3latency: 252ms

gtm-studio

ok · v0.4.0

schema: gtm_studiocontracts: 10latency: 253ms

job-family-agent

ok · v1.30.0

Reserved namespace. Canonical home is meta-factory-prod; toolbox is a consumer, not a co-owner.

schema: job_family_agentcontracts: 17latency: 253ms

Health-only — canonical home for this capability is meta-factory-prod.

GET /api/spokes/job-family-agent/health · public read

curl -sS "https://people-analytics-toolbox.vercel.app/api/spokes/job-family-agent/health"

manager-effectiveness

ok · v1.2.0

schema: manager_effectivenesscontracts: 6latency: 253ms

company-intelligence

ok · v0.3.0

schema: company_intelligencecontracts: 6latency: 252ms

knowledge-graph

ok · v0.1.0

schema: knowledge_graphcontracts: 6latency: 253ms

seo

ok · v0.1.0

schema: seocontracts: 9latency: 286ms

marketing-analytics

ok · v0.4.0

schema: marketing_analyticscontracts: 10latency: 286ms

competitive-intelligence

ok · v0.1.0

schema: competitive_intelligencecontracts: 7latency: 286ms

ai-inbound

ok · v0.1.0

schema: ai_inboundcontracts: 8latency: 286ms

content-development

ok · v0.1.0

schema: content_developmentcontracts: 8latency: 286ms

wage-benchmark

ok · v0.5.0

schema: wage_benchmarkcontracts: 5latency: 289ms

wage-compliance

ok · v0.22.0

schema: wage_compliancecontracts: 31latency: 292ms

worker-resolution

ok · v1.0.0

schema: worker_resolutioncontracts: 2latency: 292ms

principia-connector

ok · v0.12.0

schema: principia_connectorcontracts: 11latency: 292ms

glass-ox

ok · v1.0.0

schema: glass_oxcontracts: 5latency: 292ms

enterprise-jobframe

ok · v0.4.0

schema: enterprise_jobframecontracts: 30latency: 292ms

hris-mapper

ok · v0.1.0

schema: hris_mappercontracts: 9latency: 296ms

jobframe-analytics

ok · v0.1.0

schema: jobframe_analyticscontracts: 6latency: 295ms

Composable in practice

Composable example: metric × segment grid

calculus's factory composes envelopes from multiple spokes in one POST. Each cell of the grid joins a metric, a segment ID from segmentation-studio, and a period; calculus enriches with CI / z-score / percentile / change-rate; the ranked list is metadata-driven (impact, significance, change, recency, sample-size).

curl -sS -X POST https://people-analytics-toolbox.vercel.app/api/spokes/calculus/factory/build \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOOLBOX_SERVICE_KEY" \
  -d '{
    "metricKeys": ["engagement_score","completion_rate"],
    "segmentIds": ["pat5-node-engineering","pat5-node-sales"],
    "periods":    ["2026-Q1"],
    "valuesProvider": [
      {"metricKey":"engagement_score","segmentId":"pat5-node-engineering","period":"2026-Q1","value":82,"sampleSize":120,"previousValue":78},
      {"metricKey":"engagement_score","segmentId":"pat5-node-sales",       "period":"2026-Q1","value":74,"sampleSize":80, "previousValue":76},
      {"metricKey":"completion_rate", "segmentId":"pat5-node-engineering","period":"2026-Q1","value":0.62,"sampleSize":120,"previousValue":0.55},
      {"metricKey":"completion_rate", "segmentId":"pat5-node-sales",       "period":"2026-Q1","value":0.58,"sampleSize":80, "previousValue":0.60}
    ],
    "rankingStrategy": "impact"
  }'

Access & discovery

Live contract registry
/api/registryJSON inventory of every spoke and contract.
Aggregate health
/api/healthRoll-up status + per-spoke latency.
Per-spoke health
/api/spokes/<slug>/healthSchema reachability + contract version.
MCP gateway
POST /api/mcpJSON-RPC transport for AI-native consumers. Auth: TOOLBOX_MCP_KEY_<consumer>.
Service-key header
x-toolbox-service-key: $TOOLBOX_SERVICE_KEYRequired on POST endpoints. Authorization: Bearer also accepted (backwards-compat).
Metric-market surface
/metric-marketCard workbench composing calculus + segmentation-studio (PAT-21).
Comp range builder
/anycomp-range-builderBand simulation + governance flags + Monte Carlo budget (PAT-21-FU).
Decision-wizard surface
/decision-wizardKepner-Tregoe + VOI flow composing forecasting + calculus (PAT-22).
Insight Player surface
/feedPaced, gestural mobile feed sequencing Insight Cards across all spokes (PAT-35).