LAT 51.5074°N · LON 0.1278°W
FNOL · CASE 010
MOBILITYFLOW · 2025
CASE 01 / 03
Case Study · 010 · FNOL · 2025

First notice
of loss.

MobilityFlow is a calming, ten-step chat that turns the worst hour of a driver's year into ten manageable taps.

RoleDesign + Engineering
PlatformMobile Web
StackReact · Inter · Lucide
TypeClient Concept
FNOL · 0010 · 2025
MOBILITYFLOW · FIRST NOTICE OF LOSS · MOBILITYFLOW · FIRST NOTICE OF LOSS ·
FIRST · NOTICEFNOLOF · LOSS
85%Error reduction
SNew Claim
Hello. I'm here to help you log your claim safely and easily. Take your time, there is no rush.
Use Policy Number
Use Vehicle Registration
WelcomeLocate · policy / regSecurity · postcodeIncident · date / timeContact · mobileDriverDescriptionCircumstancesLiability auto-assessWrap · summaryWelcomeLocate · policy / regSecurity · postcodeIncident · date / timeContact · mobileDriverDescriptionCircumstancesLiability auto-assessWrap · summaryWelcomeLocate · policy / regSecurity · postcodeIncident · date / timeContact · mobileDriverDescriptionCircumstancesLiability auto-assessWrap · summary
SECTION · 02 · OVERVIEW
OFFSET 01.04
Section · 02 · At a glance

The brief, underneath the brief.

Four panels. The first two are public. The third is what we promised the engineers. The fourth is what we actually shipped.

01

Problem

Motability customers reporting vehicle damage face extended call wait times with no digital self-service alternative available.

02

Solution

A ten-step chat interface captures all claim details, verifies identity against policy records, assesses liability client-side, and routes to a live agent or books a callback.

03

Principle

Accessibility-first. Every interactive element meets WCAG 2.2 — minimum 56px touch targets, visible focus rings, aria-live regions, and full screen reader support throughout.

04

Scope

Single-file React application. Frontend-only — verification and liability assessment handled client-side against mock data with no backend dependency.

SECTION · 03 · PROCESS
Section · 03 · Method

Discover. Define. Develop. Deliver.

Four phases. The widening then narrowing happens twice: once on the problem, once on the solution. The chat-as-form decision is the pinch in the middle.

01EXPAND

Discover

Roadside-call audio, complaint logs, two field shadowings.

02NARROW

Define

Brief reframed: not 'a digital form', but 'a calm conversation'.

03EXPAND

Develop

Step-by-step prototype, voice route added in week 3.

04NARROW

Deliver

Ten steps, one file, no backend. Ships as a sandboxed embed.

SECTION · 04 · TEN-STEP FLOW
STEPS · 10
Section · 04 · Flow

Ten taps, not forty-seven.

Each card flips. The front shows the screen. The back tells you what we removed and why. The mocks are the actual screens to Inter, slate-50, blue-700, no embellishment.

STEP · 01

Welcome

Two-route entry

FLIP →
SNew Claim
Hello. I'm here to help you log your claim safely and easily. Take your time, there is no rush.
Use Policy Number
Use Vehicle Registration
WHY · 01

Welcome

The first frame sets the tone. No login wall. No legal preamble. Two equally weighted choices written as you'd say them.

STEP 01 OF 10← FLIP BACK
STEP · 02

Locate

Policy number or VRM

FLIP →
SNew Claim
Thank you. Please enter your Policy Number below.
Policy Number
P-12345678
Found on your documents, e.g. P-12345678
Continue
WHY · 02

Locate

Normalised on input to a stray hyphen, lowercase, leading space all resolve. The only validator that fires is one that catches obvious typos.

STEP 02 OF 10← FLIP BACK
STEP · 03

Security

Postcode 2FA

FLIP →
SNew Claim
I have found your details. For security, please enter your postcode.
Postcode
SW1A 1AA
e.g. SW1A 1AA
Continue
WHY · 03

Security

A second factor people already know. Postcode replaces a password. We loosen the match to case-insensitive, whitespace-tolerant.

STEP 03 OF 10← FLIP BACK
STEP · 04

Incident

Date & time pickers

FLIP →
SNew Claim
Thank you, your identity is verified. Could you tell me when the incident happened?
Date of Incident
22 / 04 / 2026
Approximate Time
08 : 47
WHY · 04

Incident

Two native pickers, generously sized. Time is optional to if a customer can't remember, we don't block them.

STEP 04 OF 10← FLIP BACK
STEP · 05

Contact

Mobile number

FLIP →
SNew Claim
What is the best mobile number to contact you on?
Mobile Number
07700 900000
e.g. 07700 900000
Continue
WHY · 05

Contact

Tel input with a numeric keyboard. Stripped to digits before validation. The hint is a real example, not a regex.

STEP 05 OF 10← FLIP BACK
STEP · 06

Driver

Who was driving

FLIP →
SNew Claim
Who was driving the vehicle at the time of the incident?
Me (Policyholder)
Named Driver
Other
WHY · 06

Driver

Three chips, full width on mobile. Selection auto-advances to confirming a tap with another tap is friction we don't need.

STEP 06 OF 10← FLIP BACK
STEP · 07

Description

Type or speak

FLIP →
SNew Claim
Could you briefly describe what happened?
I was stationary at a red light when…
Submit
WHY · 07

Description

Voice input is the alternate route, not the secondary one. A driver with one hand on a steering wheel can dictate. The transcript still flows into the same field.

STEP 07 OF 10← FLIP BACK
STEP · 08

Circumstances

Incident type

FLIP →
SNew Claim
Was there another vehicle involved?
Yes, another vehicle
Hit stationary object
Theft / Vandalism
Glass only
WHY · 08

Circumstances

Plain language for the four categories that drive 90% of motor claims. Each maps to a different liability path under the hood.

STEP 08 OF 10← FLIP BACK
STEP · 09

Liability

Client-side assessment

FLIP →
SNew Claim
I am checking the details for you now.
Likely Non-Fault
It appears the third party is liable. Your No Claims Bonus should be safe.
WHY · 09

Liability

Likely Non-Fault or Assessment Pending. The result appears in seconds, not days, because the rules are static and run client-side.

STEP 09 OF 10← FLIP BACK
STEP · 10

Wrap

Claim summary

FLIP →
SClaim Logged
We have received your details safely.
Claim Summary
Ref: CLM-7842
Date22 Apr 2026
VehicleP-12345678
StatusIN REVIEW
WHY · 10

Wrap

A reference number, date, vehicle, status. The summary is the receipt to printable, screenshot-able, calmer than a confirmation page.

STEP 10 OF 10← FLIP BACK
SECTION · 05 · INSIGHT
READ · ~14s

We asked for a form. We should have asked for a conversation .

SECTION · 06 · COMP STUDIO
LIVE · parametric
Section · 06 · Parametric

Every system is a dial.

Move the controls and watch the chat respond. Contrast ratio, touch-target, progress, and tone to the four levers we tuned hardest.

Live · MobilityFlow / chat-bubble

Tune the conversation.

X 0.642 · Y 0.318 · Z 40.00
SNew Claim
Take your time. There's no rush.
I'm ready
WCAG 2.2 · AAA
TARGET · 56px

Move a slider to the chat responds. The shipped values: 7.3:1, 56px, calm.

SECTION · 07 · WCAG 2.2
Section · 07 · Accessibility

WCAG 2.2 was the brief.

Five panels, five technical-drawing references. Each diagram measures the surface against a stated target.

2.5.5 · TARGET SIZE

Touch target

56 × 28 pxMIN HIT-AREA · 56PX
1.4.3 · CONTRAST

Contrast ratio

14.4
AAA
8.2
AAA
2.4.7 · FOCUS

Focus ring

Continue2PX
2.3.3 · MOTION

Reduced motion

DEFAULTREDUCED
3.3.1 · ERROR ID

Error feedback

P-ABCDXYPlease check the policy number.
4.1.3 · ARIA

Live region

<div role="status"
  aria-live="polite">
  Assistant is typing
</div>
SECTION · 08 · INCLUSIVITY
Section · 08 · Inclusivity

Designed for the worst hour of the year.

Five vectors of disability to temporary, situational, permanent. The mocks were built against the loudest cell in each row, not the average.

MOTOR

Motor

PermanentLimb difference
SituationalHolding a phone in shock
TemporaryCold-stiffened hands
VISION

Vision

PermanentLow vision
SituationalGlare on roadside screen
TemporaryCracked screen, lost glasses
HEARING

Hearing

PermanentDeaf / HoH
SituationalLoud traffic
TemporaryMuted notifications
SPEECH

Speech

PermanentStutter, dysarthria
SituationalVoice unsafe near party
TemporarySore throat
COGNITIVE

Cognitive

PermanentDyslexia, ADHD
SituationalAdrenaline, distraction
TemporarySleep-deprived
SECTION · 09 · STACK
Section · 09 · Technology

A stack chosen for demonstrability.

A frontend-only stack chosen for demonstrability. The whole app loads in a sandboxed iframe with no build step.

01

Why React without a build step?

Loading React from a CDN with Babel standalone keeps the case-study reproducible. Anyone can fork the file and have it running in under a minute.

02

Why Tailwind utility classes for a calm interface?

The slate-50 / blue-700 vocabulary covers 95% of the surface area. Custom CSS is reserved for the typing indicator and the reduced-motion branches.

03

Why no router?

The flow is a ten-step state machine. A history array supports the back button. URL state would have added complexity without giving the user a meaningful shareable surface.

SECTION · 10 · TRADE-OFFS
Section · 10 · Decisions

Three decisions that shaped the feel.

Three architectural choices that define the character of this project.

DECISION · 01

Accessibility First

Every element was designed against WCAG 2.2 before any visual styling. The 56px touch target, amber focus rings, and role='alert' on errors are not retrofits — they are the specification.

DECISION · 02

Chat as Progressive Disclosure

A traditional form presents all fields at once. The chat metaphor reveals exactly one question at a time, matching the mental model customers already have from phone calls.

DECISION · 03

Runtime Liability Assessment

Fault determination is computed client-side from a single ChoiceChips answer. The handoff decision is made immediately — no network call required, no wait state to explain.

Up next · Case 011

The next conversation.

m
MobilityFlow
© 2025 · CASE 010 / 010