Skip to content
All work

Insurance renewal workflows · 2026

Synthetic data

Shockwatch

A synthetic-data insurance renewal sandbox that blocks approval until every client-facing number is bound to hash-checked evidence.

Go to the proof
Shockwave rings moving outward through a stack of policy documents, tracing an audit chain
Visual studySolo build · 2026
Passing unit tests
114
Ideation panel score
24.6
Commits, MIT licensed
13

Deployment

I built Shockwatch in about 36 hours in July 2026, as proof of work for a Forward Deployed Engineer application at a YC-backed insurance brokerage. It shipped and it runs, but it is a synthetic-data sandbox, not a production product. It has never touched a real client, a real bureau feed, or a real AMS connection, and it never will in its current form.

Problem

I did not want to pitch the brokerage its own product back at it. So I ran a 29-agent ideation panel to find a whitespace concept that only my own workers’ comp and experience-modification claims background could credibly attack. The question I landed on: how does an AI-native insurance brokerage keep its renewal book defensible while volume keeps compounding, when every client-facing number has to be bound to hash-checked evidence before a human can approve it.

Build

I built the app in React 18, TypeScript, and Vite, tested with Vitest. A hand-built NCCI experience-modification engine models illustrative renewal risk. Cases move through readiness gates and typed, non-summable risk signals. A fail-closed artifact verifier physically disables approval the moment it sees an unbound assertion, with typed issues like UNBOUND_ASSERTION, EVIDENCE_VALUE_MISMATCH, and ARTIFACT_HASH_MISMATCH. Approvals are hash-bound, so they auto-invalidate the moment upstream evidence changes. An append-only audit trail persists through versioned, schema-checked local storage.

I built it through spec-driven development, then ran it past a 4-auditor final review panel. That panel caught and fixed claims-integrity, domain-honesty, and accessibility issues before I called it shipped.

Proof

114 unit tests pass, including adversarial cases: tampered hashes, stale evidence, Unicode bypasses, corrupt storage, invalid state transitions. The repo is MIT licensed, public, and sits at 13 commits. Before I wrote a line of code, the 29-agent ideation panel scored the winning concept 24.6, with three strong ratings. After I built it, the 4-auditor panel reviewed the finished app. The sandbox needs no chart library and no backend, since the domain logic is framework-free and fully unit tested. This stays a synthetic-data sandbox by design. Every case, every number, and every connection in the app is synthetic, and the interface labels each one that way.

  • Synthetic renewal-case inbox with readiness and evidence-freshness indicators.
  • Synthetic case detail with an explained priority score and evidence-readiness checklist.
  • Verified meeting brief with values bound to hash-stamped synthetic evidence.
  • Guardrail challenge blocks an unsupported assertion and disables approval until repaired.
  • Append-only audit trail recording synthetic case review and simulated approval.
Synthetic data

What I would do next

I would turn the app’s own golden-path walkthrough into a guided demo script anyone can run in five minutes: open a case, inspect readiness and evidence, build a verified brief, trigger the guardrail challenge, approve, then reload to see it persist.