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

prediction

ok · v0.1.0

schema: predictioncontracts: 1latency: 26ms

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

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

performance-calibration

ok · v1.1.0

schema: performance_calibrationcontracts: 7latency: 26ms

performance-validity

ok · v1.4.0

schema: performance_validitycontracts: 11latency: 28ms

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

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

talent-value

ok · v0.5.0

schema: talent_valuecontracts: 5latency: 29ms

assessment-library

ok · v0.2.0

schema: assessment_librarycontracts: 5latency: 30ms

career-development

ok · v0.2.0

schema: career_developmentcontracts: 8latency: 30ms

leadership-quality

ok · v0.2.0

schema: leadership_qualitycontracts: 5latency: 31ms

interview-scoring

ok · v0.1.0

schema: interview_scoringcontracts: 5latency: 32ms

linkage-models

ok · v0.1.0

schema: linkage_modelscontracts: 11latency: 32ms

forecast-strength

ok · v0.1.0

schema: forecast_strengthcontracts: 7latency: 33ms

survey-orchestrator

ok · v0.17.0

schema: survey_orchestratorcontracts: 32latency: 33ms

network-analysis

ok · v0.3.0

schema: network_analysiscontracts: 5latency: 34ms

research-methods

ok · v0.4.0

schema: research_methodscontracts: 8latency: 35ms

career-pathing

down · v0.1.0

schema: career_pathingcontracts: 2latency: 35ms

causal-discovery

down · v0.1.0

schema: causal_discoverycontracts: 2latency: 35ms

comp-normalizer

down · v0.1.0

schema: comp_normalizercontracts: 2latency: 36ms

pay-structure-retention

down · v0.1.0

schema: pay_structure_retentioncontracts: 2latency: 37ms

job-similarity

down · v0.1.0

schema: job_similaritycontracts: 3latency: 38ms

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

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

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

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

forecasting

ok · v1.4.0

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

schema: forecastingcontracts: 8latency: 61ms

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

anycomp

ok · v1.63.0

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

schema: anycompcontracts: 27latency: 62ms

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

org-graph

ok · v1.1.0

schema: org_graphcontracts: 9latency: 64ms

persona-library

ok · v0.2.0

schema: persona_librarycontracts: 3latency: 64ms

gtm-studio

ok · v0.4.0

schema: gtm_studiocontracts: 10latency: 64ms

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

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

company-intelligence

ok · v0.3.0

schema: company_intelligencecontracts: 6latency: 67ms

knowledge-graph

ok · v0.1.0

schema: knowledge_graphcontracts: 6latency: 67ms

seo

ok · v0.1.0

schema: seocontracts: 9latency: 67ms

marketing-analytics

ok · v0.4.0

schema: marketing_analyticscontracts: 10latency: 68ms

competitive-intelligence

ok · v0.1.0

schema: competitive_intelligencecontracts: 7latency: 68ms

ai-inbound

ok · v0.1.0

schema: ai_inboundcontracts: 8latency: 69ms

content-development

ok · v0.1.0

schema: content_developmentcontracts: 8latency: 70ms

wage-benchmark

ok · v0.5.0

schema: wage_benchmarkcontracts: 5latency: 70ms

wage-compliance

ok · v0.22.0

schema: wage_compliancecontracts: 31latency: 70ms

worker-resolution

ok · v1.0.0

schema: worker_resolutioncontracts: 2latency: 72ms

principia-connector

ok · v0.12.0

schema: principia_connectorcontracts: 11latency: 72ms

glass-ox

ok · v1.0.0

schema: glass_oxcontracts: 5latency: 73ms

enterprise-jobframe

ok · v0.4.0

schema: enterprise_jobframecontracts: 30latency: 73ms

hris-mapper

ok · v0.1.0

schema: hris_mappercontracts: 9latency: 73ms

jobframe-analytics

ok · v0.1.0

schema: jobframe_analyticscontracts: 6latency: 74ms

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