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: 5ms

prediction

ok · v0.1.0

schema: predictioncontracts: 1latency: 6ms

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: 5ms

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: 5ms

performance-calibration

ok · v1.1.0

schema: performance_calibrationcontracts: 7latency: 5ms

performance-validity

ok · v1.4.0

schema: performance_validitycontracts: 11latency: 8ms

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: 8ms

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: 8ms

talent-value

ok · v0.5.0

schema: talent_valuecontracts: 5latency: 8ms

assessment-library

ok · v0.1.0

schema: assessment_librarycontracts: 5latency: 8ms

career-development

ok · v0.1.0

schema: career_developmentcontracts: 8latency: 11ms

leadership-quality

ok · v0.2.0

schema: leadership_qualitycontracts: 5latency: 11ms

interview-scoring

ok · v0.1.0

schema: interview_scoringcontracts: 5latency: 11ms

linkage-models

ok · v0.1.0

schema: linkage_modelscontracts: 11latency: 12ms

forecast-strength

ok · v0.1.0

schema: forecast_strengthcontracts: 7latency: 11ms

survey-orchestrator

ok · v0.17.0

schema: survey_orchestratorcontracts: 32latency: 14ms

network-analysis

ok · v0.3.0

schema: network_analysiscontracts: 5latency: 14ms

research-methods

ok · v0.4.0

schema: research_methodscontracts: 8latency: 14ms

career-pathing

down · v0.1.0

schema: career_pathingcontracts: 2latency: 15ms

causal-discovery

down · v0.1.0

schema: causal_discoverycontracts: 2latency: 15ms

comp-normalizer

down · v0.1.0

schema: comp_normalizercontracts: 2latency: 17ms

pay-structure-retention

down · v0.1.0

schema: pay_structure_retentioncontracts: 2latency: 17ms

job-similarity

down · v0.1.0

schema: job_similaritycontracts: 3latency: 17ms

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: 34ms

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: 35ms

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: 40ms

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: 37ms

forecasting

ok · v1.4.0

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

schema: forecastingcontracts: 8latency: 36ms

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: 37ms

anycomp

ok · v1.63.0

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

schema: anycompcontracts: 27latency: 38ms

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: 39ms

org-graph

ok · v1.1.0

schema: org_graphcontracts: 9latency: 40ms

persona-library

ok · v0.2.0

schema: persona_librarycontracts: 3latency: 40ms

gtm-studio

ok · v0.4.0

schema: gtm_studiocontracts: 10latency: 41ms

job-family-agent

ok · v1.29.0

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

schema: job_family_agentcontracts: 17latency: 42ms

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: 42ms

company-intelligence

ok · v0.3.0

schema: company_intelligencecontracts: 6latency: 43ms

knowledge-graph

ok · v0.1.0

schema: knowledge_graphcontracts: 6latency: 43ms

seo

ok · v0.1.0

schema: seocontracts: 9latency: 44ms

marketing-analytics

ok · v0.4.0

schema: marketing_analyticscontracts: 10latency: 45ms

competitive-intelligence

ok · v0.1.0

schema: competitive_intelligencecontracts: 7latency: 45ms

ai-inbound

ok · v0.1.0

schema: ai_inboundcontracts: 8latency: 46ms

content-development

ok · v0.1.0

schema: content_developmentcontracts: 8latency: 46ms

wage-benchmark

ok · v0.5.0

schema: wage_benchmarkcontracts: 5latency: 47ms

wage-compliance

ok · v0.22.0

schema: wage_compliancecontracts: 31latency: 48ms

worker-resolution

ok · v1.0.0

schema: worker_resolutioncontracts: 2latency: 48ms

principia-connector

ok · v0.12.0

schema: principia_connectorcontracts: 11latency: 49ms

glass-ox

ok · v1.0.0

schema: glass_oxcontracts: 5latency: 49ms

enterprise-jobframe

ok · v0.3.0

schema: enterprise_jobframecontracts: 30latency: 50ms

hris-mapper

ok · v0.1.0

schema: hris_mappercontracts: 9latency: 51ms

jobframe-analytics

ok · v0.1.0

schema: jobframe_analyticscontracts: 6latency: 51ms

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