Skip to content

Operations Workbench

The Operations Workbench (workbench.openinsure.dev) is an internal single-page application for staff who need direct, low-latency access to the rating engine, policy records, compliance matrices, and reporting tools.


LayerTechnology
FrameworkVite + React 19
RoutingTanStack Router v1 (type-safe, file-based)
StateTanStack Store
Rate limitingTanStack Pacer + react-pacer
HostingCloudflare Pages SPA (oi-sys-workbench)
APISame oi-sys-api as all portals

Dev server:

Terminal window
PORT=3003 pnpm --filter @openinsure/workbench dev
# Port 3000 is taken by code-assist-mcp in local dev

Interactive Rater

Live premium calculation with full factor waterfall, schedule rating inputs, and PDF adverse action export.

Policy Detail

Full policy record view — jacket, endorsements, claims, payments, documents, and event history.

State Requirements

Jurisdiction-by-jurisdiction compliance matrix — notice periods, form filings, surplus lines requirements.

Reporting

On-demand loss runs, cession summaries, and audit exports without going through the Finance Portal.


The rater connects directly to POST /v1/rating/submit and streams the factor waterfall in real time. It is used by underwriters to:

  • Re-rate a risk with schedule adjustments before quoting
  • Explain why a premium changed between policy terms
  • Validate rate table updates before activating new versions

Each rating step is displayed with:

  • Step name and input value
  • Factor applied (from which rate table)
  • Intermediate premium after the step
  • Cumulative change vs. prior step

Debit/credit factors are shown in red/green. UW-applied schedule debits/credits are editable inline.

When a schedule debit is applied that increases premium by ≥ 10%, a PDF adverse action notice can be generated directly from the rater with one click. The notice includes all factors that resulted in a rate above the filed base rate.


The Policy Detail view (/workbench/policies/:id) is a read-optimized view of the full policy record. Unlike the portal views, it exposes all internal fields including:

  • Raw policy jacket sections (insured, coverages, filings, interests, conditions)
  • All endorsement history with premium adjustments
  • Claims linked to the policy with reserve movements
  • TigerBeetle ledger entries for all premium transactions
  • Durable Object event stream (if POLICY_EVENTS DO is instrumented)

/workbench/state-requirements shows a sortable, filterable grid of insurance regulatory requirements by state:

ColumnSource
StateAll 50 states + DC + territories
Non-pay notice period@openinsure/compliance domicile rules
UW cancellation noticeVaries by line; compliance engine enforces
Surplus lines eligible@openinsure/domicile
Form filings requiredBy line and state
SLSF rateState surplus lines stamping office fee

The matrix is read from the compliance engine at render time — it always reflects the current state of the domicile rules, not a static snapshot.


Staff-facing reports not available in the Finance Portal:

ReportPath
Loss run (any policy)/workbench/reporting/loss-run
Cession statement draft/workbench/reporting/cession
UW audit export/workbench/reporting/uw-audit
Rate factor explainEmbedded in the Interactive Rater

Reports are generated on-demand and can be exported as CSV or PDF.


Routes are defined in src/routes/. TanStack Router v1 uses file-based routing with full TypeScript inference on route params and search params.

// src/routes/policies/$id.tsx
export const Route = createFileRoute('/policies/$id')({
loader: ({ params }) => fetchPolicy(params.id),
component: PolicyDetailPage,
});

Search state (filters, pagination, selected tab) is managed via TanStack Router’s search param API — no URL manipulation needed.

See the URL State guide for the shared nuqs pattern used in the Next.js portals (the workbench uses TanStack Router’s native search API instead).