B2B Enterprise AI · InsurTech

COMPSCIENCE · 2025 to present

Rebuilding a broker prospecting tool around the prospect, not the document

1,300+ brokers came to look at Risk Navigator. Fewer than 2% got past the first screen.
I designed that first version, instrumented it, and rebuilt it once the funnel showed the entry price was the product's real problem. I am also the first and only designer at CompScience, so this case opens with the full surface area I own before going deep on one tool.

RoleFirst & sole Product Designer
Deep diveRisk Navigator 1.0 to 2.0
TeamPM, 3 engineers, data science, marketing
Status2.0 · current iteration

Risk Navigator 2.0. A full risk read from a company name alone, with the loss run offered as an upgrade rather than a gate. Sample data throughout.

01 · What I own

One designer, the whole product surface. Here is the honest map before the deep dive.

Being the only designer means the job is not a queue of screens, it is deciding what deserves design time this quarter. The list below is what I have shipped or am running now. It is context, not eight case studies, so skim it and keep going.

FIRST IMPRESSION
Broker · insured · admin

Login & invitation redesign

Rebuilt account entry across broker and client contexts so people reach the right workspace without guessing.

THE PRODUCTS
Broker · prospecting

Risk Navigator 1.0 → 2.0

The prospecting tool brokers use to size up a company. Designed, instrumented, and rebuilt. The subject of this case.

Broker · daily workspace

Broker Portal 2.0 → 2.5

The workspace brokers land in: accounts, claims, submissions, and the path into the tools.

Insured · safety manager

SafetyCenter 1.0 → 2.0

Where a risk signal turns into documentation and a concrete safety action for the customer.

AROUND THE PRODUCT how it reaches people and how it speaks
Notifications

SafetyPulse alerts

Alert patterns that carry enough context to be acted on instead of dismissed.

Communication

Product comms & AI video

Submission emails, the 60 second value video, and the launch language around it, produced with AI tooling instead of a vendor cycle.

UNDERSTANDING THE INDUSTRY so the team decides with a full map
Research

Account manager persona

The carrier side role nobody had defined, written up as a working persona so product decisions stopped defaulting to the broker.

Onboarding

Insurance ecosystem map

One page that connects broker, insured, underwriter, and claims to our products. Used to onboard product people into an industry they have never worked in.

FOUNDATIONS underneath all of it
Foundations

Design system for AI builders

Tokens, components, and the gaps that accumulated while the product outgrew its first UI. Then the design system left Figma and became a Claude skill, so every builder at the company generates screens from it.

Who is in the room, and where our products sit 9 roles, 3 bands
BAND 01 · DISTRIBUTION sells and advises
Retail brokerOwns the client relationship. Wins on being the most prepared person in the meeting.Risk Navigator · Broker Portal
Agency principalDecides which carriers the agency leads with. Cares about hit rate, not features.Reached through the broker
Wholesaler · MGAPlaces the risks a retail broker cannot. Enters when appetite is unclear.Submission path
BAND 02 · THE RISK ITSELF where injuries happen
Insured employerBuys the policy. Feels the premium, rarely reads the analysis.Shared report
Safety managerThe only person who can change the loss trend. Needs an action, not a score.SafetyPulse · Safety Center
Frontline workerNever a user, always the subject. Every metric on our screens started as their injury.Indirect, by design
BAND 03 · CARRIER, US prices, services, pays
UnderwriterSays yes or no, and how much. Needs a complete submission more than a pretty one.Submission package
Account managerKeeps the account alive after binding. The role our roadmap had no persona for.Persona I wrote
Claims adjusterOwns the cost after the injury. Their data becomes next year's loss run.Claims support

Scope as of 2026. The rest of this page is one project, told properly.

02 · Risk Navigator 1.0

Give us the loss run and we will give you a report.

Commercial insurance brokers size up a company before they ever pitch it. That work is slow, manual, and mostly guesswork until documents arrive. Risk Navigator was our answer: hand the tool a company's loss run and get an AI generated risk report back.

The MVP shipped in Q4 2025 and I designed it end to end. It was deliberately frictionless in the ways we could see: no login required, a short name and email form, then upload, wait, read. The one thing it did require was the document. Upload first, insight second. On paper that is the right trade, because better inputs make a better report.

After launch the team kept improving the parts we could measure from the inside: processing speed, output consistency, and a broker talk track that aggregated the highlights at the top of the report. The tool got better. The funnel did not move.

Risk Navigator 1.0 walkthrough
01 / 10 THE LANDING PAGE

The 1.0 entry screen. Three steps, and step one is a file the broker may not have on hand.

Version one optimized for the best possible answer.
Brokers were still deciding whether to give it any input at all.
03 · What the funnel said

Nobody complained. They just stopped at the same screen.

We tracked the flow in Mixpanel and piped every submission into a Slack channel, so I could watch real sessions rather than rely on anecdotes. Three months of data told a very specific story, and it was not the one I expected.

Interest was not the problem. Traffic was high for our surfaces and the people who did upload almost all finished, even through processing times long enough to lose them. Then most of them downloaded the report to keep or forward. Every signal past the upload step said the output was worth having. The step itself was where the product died.

Three months of Mixpanel, Risk Navigator 1.0
Visited the landing page 1.3K+
Uploaded a loss run under 2%
the cliff
Waited out processing and read the report Nearly 9 in 10 uploaders
almost everyone who got in, finished
Downloaded the PDF to keep or forward About 4 in 5 readers
and wanted to keep the output

Risk Navigator 1.0 funnel, Mixpanel, three months.

Reading it back, the upload step asked for the most and offered the least. A broker on a first visit has not seen the output, does not know if it beats a web search, and is being asked to put a client's claims history into a tool they met ninety seconds ago. The loss run itself usually lives in an email thread or a shared drive, so "go find the file" ends the session even for a willing user.

The loop every product of ours sits inside
01 Broker sizes up a prospect
02 Submits to the underwriter
03 Policy binds
04 Risk worked down
05 Claims land in next year's loss run
06 Broker sizes up the renewal
06 feeds 01 again. Our products only matter where they shorten that loop.
04 · Risk Navigator 2.0

Change the unit of work from a document to a company.

That reframe carried the redesign. Version one was a document processor with a chat surface on top, so nothing existed until a file did. In version two the thing a broker works on is a prospect, and a prospect starts with a name they already know. The tool now has four stages, and the document only shows up in the second one.

STAGE 01
Scout Search a company by name and get a real risk read in seconds, no files needed. Appetite fit, loss frequency against NAICS peers, OSHA history, top hazards, contacts, recent news, all from public data. No login, no document
STAGE 02
Enrich Upload a loss run to unlock claims, severity, open reserves, and premium projection. Upload is now an upgrade to a report the broker is already reading. The old front door, moved
STAGE 03
Manage A saved prospect list so the work survives the session and brokers can see what is ready to submit to underwriting. Reason to come back
STAGE 04
Share A tailored PDF to keep or send straight to the client, which is the behavior About 4 in 5 readers were already performing on their own. Designed for what they did anyway

Three principles did most of the work inside that structure.

01 · A name is enough

Search is the only entry point. I removed the upload ingress rather than offering both paths, because a choice between an easy one and a hard one still makes the hard one feel required. The broker confirms the company match before anything generates, so the AI never quietly reports on the wrong business.

02 · A report that shows its own gaps

A report built from public data has to be honest about what it does not know. Locked sections sit in the flow of the report, next to the full ones, and clicking one opens upload as a modal over the dimmed page. The gap becomes the ask, and the broker never loses their place.

03 · Copy that names the reward, not the mechanism

Version one asked brokers to upload their loss runs. Version two tells them what unlocks. Upload is framed by what it unlocks, not by the file it wants.

1.0: value sits behind the gate
Landing page Upload loss run98%+ stop here Processing One shot report
2.0: value arrives first, the document upgrades it
Search a company Confirm the match Risk Insights reportfirst real output Add a loss runoptional, in place Submit or share

The same product promise, with the cost moved behind the first result.

Risk Navigator 2.0 search screen asking which company are you sizing up

Scout. One input, no account, no document.

Loading screen naming each public source being matched

The wait names the work: registries, OSHA records, filings and news.

Company confirmation screen showing three matched companies from public records

Confirm the match before the report is built. The wrong company is a worse failure than no company.

Report building progress with a form collecting the broker name and email

Details are collected while the report builds, so the wait costs the broker nothing.

Claims analysis section rendered locked, inside the flow of the report

Locked sections sit in the flow of the report. The gap is the ask.

Add client files modal over the dimmed report, with skip for now

Enrich. A modal over the report the broker is already reading, with skip always available.

Progress modal folding the client files into the existing report

The same report updates in place rather than starting over.

My Prospects list with ready, needs files, and submitted states

Manage. Ready, needs files, submitted. The pipeline a broker actually thinks in.

Review submission screen listing the documents included in the package

Share. Nothing leaves Risk Navigator until the broker can see exactly what is being sent.

Download modal offering a broker report and a client safe report as PDFs

Two PDFs, not one: a broker version with talking points, and a client safe version to send straight on.

05 · What changed, what stayed

A rebuild is also a chance to overcorrect, so I was specific about what not to touch.

EXPANDED
  • +Public research became the entire basis of the free report: appetite against our own underwriting criteria, OSHA and BLS signals, peer benchmarks, web intelligence with visible sources.
  • +An account model appeared where there was none, because a saved prospect list only means something if the product knows who you are. The login wall is deliberately late and soft.
PROTECTED
  • ·AI Insights kept its place at the top of the report. Brokers told us these are what they take into a client meeting.
  • ·Claim insights from an uploaded loss run stayed intact, and became the payoff for enriching.
  • ·The broker talk track stayed too, folded into the same insight component as a tab rather than a separate block. Same value, one less thing to learn.
AI Insights component with tabs for top risks and the broker talk track

Kept. AI Insights and the broker talk track, now one component with tabs and a feedback control.

CompScience Appetite panel showing a mixed appetite verdict by NCCI class

New. Appetite fit stated plainly, class by class, so a broker knows whether to invest the call.

Claims metrics and incurred by year chart Open and recent claims table with status per claim Claims distribution by location and top risk areas
Claims metrics and incurred by year

Kept. Claim level analysis from the loss run, unchanged in substance and re ranked for scanning.

06 · Handoff without Figma

Between 1.0 and 2.0 I stopped handing over frames and started handing over working prototypes.

Version one was a Figma handoff: screens, redlines, a spec doc, and a lot of conversation to cover the states the file did not contain. For version two I designed in code with Claude, which changed what a handoff can even be. The prototype the team received was clickable, used the real component library, and carried its own documentation.

Press S for the schema

Every data bound element in the prototype is annotated with the backend field it comes from. Pressing S toggles an inspect overlay that draws those field names directly on the UI, so an engineer can read the schema to interface mapping on the screen instead of cross referencing a table. It also caught our own gaps: fields the design assumed existed and the API did not return.

A data states reference

Instead of describing edge cases in prose, I built every state the report has to survive as a real page: no match, insufficient public data, partial upload, in appetite, out of appetite, mixed appetite, loading, empty. Rendered with the same components, so there is nothing to interpret.

Artifacts for decisions, not just screens

The FAQ rewrite went out as a before and after page the team could read side by side and react to, with the reasoning for each change attached. Same for three visual directions of the results dashboard. When the artifact is cheap to make, you can ask for a decision instead of assuming one.

OSHA History section of the prototype with the inspect overlay drawing backend field names and rules directly on the UI Field, where it renders, and rule table documenting the NAICS revision behaviour Appetite states rendered as real pages: not determined, in appetite, and discussion needed
The inspect overlay: every field, its source, and the rule that governs it, drawn on the live UI.
Slack thread where an engineer asks for the data sources command and reacts to the states reference

It got used the way I hoped: an engineer mid build, asking where a value comes from, and answering it from the prototype instead of waiting on me.

Next caseAI Marketing Dashboard03 →

Thanks for spending time with the work.

Want to talk through a project?