Back

Priori Scout: Fixing the edit flow that fed search and matching, without leaving the modal

ROLE
Sole product designer
TIMELINE
2.5 months, 2022 (full-time)
SCOPE
Research, interaction design, UI, prototyping, handoff
TEAM
Worked alongside Nick Olivo, product manager, and Mike Milner, CTO
OUTCOME
~12 support tickets/month to 0, measured two months after launch
Before and after: legacy two-panel modal and the tag-based edit flow

The legacy two-panel modal (left) and the tag-based edit flow that replaced it (right).

Context

The modal was the moment firms decided whether to trust the import

Priori Scout gives companies one place to manage their outside counsel. Law firms arrive through a data import: their lawyer roster lands as JSON, gets loaded into Scout, and then the firm takes a pass to make sure every profile is current. Practice areas and the proficiencies inside them are the most important fields on that profile, because they're what clients search and match on. A missing proficiency means a lawyer doesn't surface for a matter they're qualified for.

So this wasn't a settings screen. It was the step where firms either trusted the import or gave up on it. The taxonomy was wide and uneven: dozens of practice areas, each with its own proficiency list, and lawyers often needed to add a proficiency the list didn't have.

Taxonomy diagram: lawyer profile, practice areas, proficiencies, and what runs on them

A lawyer's profile carries practice areas, each holding proficiencies. Client search and matter matching run on those chips, which is why a missing one costs the lawyer a matter.

The Problem

Two panels, two clicks, and a dozen tickets a month

The legacy modal split the job across two disconnected panels, categories on the left and proficiencies on the right, with nothing connecting them. Every proficiency wanted a Yes or No. Adding one took two steps ("Add," then "Yes") with no feedback in between. If the proficiency you needed wasn't listed, the only option was a free-text request at the bottom that filed a ticket instead of adding it.

Firms couldn't complete a basic edit without help. Support averaged about twelve tickets a month on this one modal and ended up making edits by hand. Sales reps left the feature out of demos.

Legacy modal with three numbered callouts
1Two panels, no visible link.Practice areas on the left, proficiencies on the right. No indication that these are connected.
2A yes or no for every row.Each proficiency needed an explicit answer. Adding one meant "Add" first, then selecting yes.
3Adding proficiencies was a request.If a proficiency was missing, users had to ask our team. This spiked customer tickets.

The Constraint

Modal-first wasn't the obstacle. It was the brief

Scout was modal-first, and the design system backed that up: a modal shell, a dropdown, and a list component. Airbnb and DoorDash both handle this kind of editing on dedicated full-page screens. That was the easy answer, and it would have broken the product's consistency for one feature.

I kept the modal and treated it as the brief. The fix had to work inside the dialog the product already had, using components the team already shipped.

Airbnb profile editing
DoorDash profile editing

Airbnb and DoorDash move profile editing to full pages. Scout's system didn't have that pattern, and adding one for a single flow wasn't worth the inconsistency.

Iterations

Two layouts fixed the wrong thing before I questioned the checklist

1. Vertical stack

Moved proficiencies beneath their category so the relationship was visible. Hierarchy solved, scrolling broken. A lawyer with several practice areas got a list that ran off the screen.

Vertical stack iteration
2. Edit-mode toggle

Borrowed Airbnb's view/edit switch, showed only selected items by default, and muted Save until something changed. We walked 12 lawyers through it on demo calls. The verdict was still "busy and overwhelming." The layout wasn't the problem. The checklist was.

Edit-mode toggle iteration
3. Tags

Replaced checklists with a tag field per practice area. Selected proficiencies show as removable chips. Adding one is typeahead against the full list, with a browse option, and an "add your own" path for proficiencies the taxonomy didn't cover. The modal got shorter, the next step became obvious, and undoing a mistake became one click.

Tag field iteration

The Decision

Tags trade discoverability for clarity, and that's the right trade for a lawyer

A checklist shows every option; a tag field hides them until you type. For a lawyer reviewing their own profile that's the right trade: they know what they practice and don't need to scan forty checkboxes to find it. Typeahead plus browse covers the rare case where they want to look, and "add your own" covers the case where the list is wrong.

It also cost less to build. The typeahead and list components already existed, so tags composed parts the team had shipped instead of a new synced two-panel component. And each chip maps to a single add or remove against the record, so deleting one proficiency no longer meant resubmitting all of them.

ChecklistTags
DiscoverabilityEvery option visibleVisible on type or browse
Scan speedSlow past ~15 optionsFast, only selections shown
Modal heightGrows with the taxonomyGrows with selections
Build costNew synced two-panel componentExisting typeahead and list
Remove actionFind and uncheckOne click on the chip
Missing optionDead endAdd your own

Typeahead plus browse covers the rare case where a lawyer wants to look; "add your own" covers the case where the list is wrong.

The Concession

A minimize button I didn't want, and why I let it go

The team wanted a prominent "minimize" button on the modal, on the grounds that lawyers needed a strong, obvious way out. I'd have kept it quieter; the modal already had a close, and the chips made the state self-explanatory. I took the loss. It was a small cost against a flow that was finally working, and not the hill.

What Shipped

One modal, one action per edit, a path for everything the taxonomy missed

The shipped modal in motion

Typeahead filters the list, a pick becomes a chip, one click removes it, and anything the taxonomy lacks goes in as your own. Recreated from the shipped build.

Outcome

Tickets to zero, and a pattern the rest of the product adopted

  • The tag field became the standard pattern for every place lawyers edit list-type profile data in Scout.
  • Support tickets on this modal: ~12/month to 0, two months after launch. Six months after launch, only two tickets related to editing profile data.
  • Sales reps put the edit flow back in demos.
  • Over six months, lawyers added over 100 custom proficiencies.

What I Learned

Ask about the component before the layout.

Question the component before the layout. I spent two iterations rearranging checklists before asking whether a checklist was the right control at all. The layouts weren't failing; the pattern was. Sometimes it is important to zoom out to figure out next steps.

A constraint can be the brief. Staying inside the modal looked like a limitation. It's what forced a solution that fit the rest of the product, which is why the pattern spread instead of staying a one-off.

Listen carefully and know when to concede. Sometimes the hardest part of the job is to know what to fight for. The way I navigate that is to really listen to the feedback. What is underneath it? Is it about the actual component itself? Or is it the actual flow? Understanding what questions to ask allows us to get closer to the best user experience.

Previous
Previous

HeyGen Design System

Next
Next

Mila App: Digitizing the Doula Experience