SELF-INITIATED

90-second claim intake

Market opportunity study · policyholder app + adjuster dashboard · designed, built and shipped in 3 days

Project context

Project context

The first notice of loss is the most expensive moment in a motor insurer's operation and the one that decides how the customer feels about the policy they bought. It is still handled by phone, with an agent transcribing what someone standing on the shoulder of a highway manages to say.

Client

Self-initiated. Market opportunity study

Segment

Motor insurance, first notice of loss (FNOL)

Stage

Working product, publicly deployed. v0 live, v1 architected

Business model

B2B SaaS. Subscription revenue, plans from BRL 200 to BRL 990 per month.

Target audience

Policyholder: at the roadside, one hand free, high adrenaline

Claims adjuster: at a desk, triaging by severity

Design system

Material Design 3

Role

Product strategy, research, design and implementation

Stack

Claude, Claude Design, Claude Code, Supabase (MCP), GitHub (MCP), Vercel, Google Flow Music, Higgsfield (MCP): Seedance, ElevenLabs, Nano Banana, GPT Image, etc.

Period

2026 · 3 days

Challenge

Cut claim intake to under 90 seconds without a phone call, and deliver the data already structured on the other side.

Three pain points define the opportunity:

FNOL carries roughly 26% of the auto claims satisfaction index (J.D. Power), yet 85 to 95% of claims still run through a call centre, at 6 to 7 minutes and US$6 to 8 per call.

Manual re-keying at intake feeds claims leakage worth 5 to 10% of total claims spend.

A bad claim drives churn. Up to 41% of claimants consider switching insurer within 12 months, putting as much as US$170bn of global premium at risk (Accenture).

Key actions

Design system before screens: Material Design 3 tokens set first, with one rule governing the system; error red reserved exclusively for "someone is hurt". Claim stages use neutral chips, so when red appears it means one thing.

Six surfaces in Claude Design: intake, capture, confirmation, live tracking, policyholder home, adjuster dashboard. Delivered as clickable HTML. No Figma at any point.

Built with Claude Code and Supabase over MCP: Next.js on Vercel, Postgres and Realtime on Supabase. Schema, RLS policies and Realtime created and verified in the same pass as the code.

One write path, by design: every claim goes through a single endpoint, writing structured fields rather than free text. Not the shortest route, and that is the point. The voice layer plugs into the same endpoint and table with no refactor.

Honesty in the interface: opening time is measured for real, first tap to server response. The dashboard map carries a "demo data" chip.

Launch film with Higgsfield over MCP: 20 seconds inside a fixed 200-credit budget. Cinematic shots in Seedance, generative narration, stills in GPT Image and Nano Banana. App screens are real recordings cut in as inserts, never generated.

Impact

check

Both interfaces live on a public URL, opened on a phone with nothing to install

check

A claim opened on the phone reaches the dashboard in under 2 seconds, and a status change returns to the phone in the same window

check

The launch introduced a new SaaS model for Greiner, with subscription plans ranging from BRL 200 to BRL 990 per month 2022

check

A claim opened on the phone reaches the dashboard in under 2 seconds, and a status change returns to the phone in the same window

check

Opening time measured and displayed, never hardcoded

check

v0 complete and presentable on its own

Expected impact for a buyer, projections rather than results. Self-service intake takes the call off the critical path, where each one costs US$6 to 8. Structured capture at source attacks the 5 to 10% leakage instead of correcting it downstream. In-app status removes "where is my claim" calls, and a faster claim is the cheapest retention lever an insurer has. The buying question is not what the app costs, but how many points of call volume have to leave the contact centre to pay for it.

Explore it live

A high-fidelity prototype, deployed and running. Real database, real-time sync, seeded data. Open both sides on any device — no install, no login.

Next steps: v0→v1

The positioning chart shows where v0 sits behind the market leaders. A next version of the prototype could close some of that gap, likely in this order, since each step depends on the one before it.

Voice agent. Text field replaced by an ElevenLabs conversational agent. Already scoped as v1.

AI triage. Severity classified from the voice transcript, not a checkbox.

Photo/video AI. Computer vision estimates vehicle damage, as Porto Seguro and Tractable already do.

Straight-through processing. Low-severity claims approved and paid with no human touch, the way Lemonade settles roughly 30% of claims instantly.

© Stephan Oliveira, 2026

stephan.oliveira.design@gmail.com

© Stephan Oliveira, 2026

stephan.oliveira.design@gmail.com

© Stephan Oliveira, 2026

stephan.oliveira.design@gmail.com