Back to selected work
Contact-center operations · Single-tenant Docker · In development

The dashboard that refuses to lie.

CoachUp is an opinionated operating-system platform for contact centers. It sits on top of Calabrio, Verint, Genesys, and NICE — and then implements the workflows, cadence rhythm, and architectural refusals that turn a workforce-management dashboard into a tool that actually runs the floor.

CoachUp Performance Radar — six-axis operational health

illustrative product mockup · six-axis Performance Radar, sustainable vs burnout shape

The problem

Contact centers run on dashboards that lie.

Workforce-management platforms were built to schedule labor, not to run an operating model. The predictable result repeats across thousands of centers: coaching is the first thing cancelled when the queue is hot, QA scorecards drift into compliance theatre, friction logs die in inboxes, and the numbers get worse the harder the operation pushes them.

CoachUp encodes the corpus — a 700-page operating model authored by a career operator — directly into the schema, the workflow engine, and the UI. Single-number scores are not configurable. The bell-curve penalty on Goodhart-vulnerable axes is not relaxable. The Anti-Surprise Gate that stops formal reviews from reaching an agent without a prior-conversation trail is locked at the database layer. The opinions are the product.

Architectural refusals

Four opinions a tenant cannot disable.

No single-number Radar score

The Performance Radar is six axes scored on bell curves — AHT below target costs points, Occupancy above 85% costs points. The platform refuses to render the score as a single 0–100 for ranking or comparison. Goodhart's Law is defeated at the schema layer.

Sample-size guards on every metric

No CSAT average renders below n=5 per agent-week. No QA below n=4. No CEI without a 14-day verification window. Thin samples escalate to team-week or month-quarter automatically — they never silently land in a dashboard.

Anti-Surprise Gate at the database

PIPs, severity handoffs, probation gates — none surface to the agent's view without a documented prior-conversation citation per item. The agent_notice_at predicate is platform-locked on the agent-visible read path. The gate pauses; the agent never gets blindsided.

Coaching is scheduled production

The ETL remaps coaching, calibration, huddles, 1:1s, Cool-Down Blocks, and mentor pairing into a Protected Capacity Portfolio category at ingest — regardless of how the source WFM platform codes them. Cancellation requires a Cooperative Variance trade. No silent shrinkage.

The stack

Boring tools, opinionated wiring.

Platform
  • pnpm workspace
  • kernel + modules + adapters + dashboards
  • TypeScript · strict
  • Postgres + materialized views
  • Append-only event log
Ingest & ETL
  • Per-vendor adapter SDK
  • Stream / poll / drop modes
  • Activity-code remap at ingest
  • Capability/fitness reports
  • Validation rule registry
Deployment
  • Signed Docker images
  • Helm · Terraform · Compose
  • SAML 2.0 · OIDC SSO
  • OpenTelemetry throughout
  • Customer-perimeter data

Running a center on a scorecard that flatters?

CoachUp ships as a signed Docker image you install inside your own perimeter. The data stays with you. The opinions ship with the binary.

Start the conversation