Notification Stream

*Some content has been redacted due to PII and confidentiality.

Notification Stream: ranked broker feed

Context

Company
UnitedHealth Group, broker and employer platforms
Role
Design Team Lead: owned the ranking strategy and stream design, led 3 designers
Team
3 designers, 5 engineers, 1 PM
Timeline
~8 months
Tools
Figma, FigJam, Dscout
86%
Conversion on urgent items
4 clicks · 2m 46s
To reach the first urgent item

The problem

Brokers and employers had to guess which platform to open first. Different group types and workflows lived on different sites, with no navigation between them, and key workflows hid several layers deep. Time-sensitive items in one place were missed while attention sat in another.

Discovery

I ran 10 interviews across roles and seniority, then shadowed 4 users through their first hour of the morning. One sentence came back almost word for word: "I never know which screen to start on."

Funnel data confirmed it. Users bounced between surfaces and missed deadlines in the ones they weren't watching.

Placeholder visualJourney map: a broker's morning hopping between platforms, with the missed item marked.Recreate from shadowing notes

Turning user pain into alignment

Consolidating channels usually triggers turf fights. Here, the user evidence did the aligning. Brokers and employers had told every team the same thing, so I framed the stream as the answer to a complaint everyone already owned.

We agreed on one non-negotiable up front: the stream had to feel calm. Dense and stressful would just rebuild the problem in one place instead of five.

Leading the ranking strategy

UX, product, and business ranked the signals together, and I drove the strategy. The key decision was giving each signal a distinct job rather than blending them into one score.

SignalIts jobExample
UrgencyRank what needs action nowA renewal deadline today sits on top
RelevanceFilter to groups assigned to this brokerOther brokers’ groups never appear
RecencyHelp users recall latest activity, not drive next action“You last edited this quote yesterday”

Separating "what's next" from "what happened" kept the top of the stream about decisions, not history.

Placeholder visualRanking model: the three signals as a diagram showing how an event flows into the stream.Recreate (shows strategy ownership)

What we tried and dropped

We started with a standard notification dropdown. The space was too small and the volume made it overwhelming, so it recreated the stress we were removing.

The final pattern shows the top 2 items in full detail with a summary of everything else. Users see what matters now and keep a glance at the rest.

Placeholder visualKilled exploration: the cramped dropdown vs. the final stream.Recreate the dropdown if lost

The system we shipped

  • Ranked, card-based stream with three archetypes, each with deliberately different visual weight: urgent action, market update, and system message.
  • Per-user controls to snooze, mute, or pin categories.
  • An empty state worth landing on, confirming nothing is due.

We de-risked it with three rounds of moderated prototype tests, weekly requirement check-ins with product and business, and a two-week guardrail dashboard before broad rollout.

Placeholder visualCard archetypes: urgent, market update, system message side by side, annotated for visual weight.Pull from final screens

Outcomes

86%
Conversion on urgent items
4 clicks · 2m 46s
To reach the first urgent item
  • 86% conversion on urgent items [vs. baseline TBD].
  • First urgent item reached in 4 clicks, 2 min 46 s [vs. baseline clicks and time TBD].
  • In follow-up research, "which screen do I start on" largely disappeared from feedback.

What I'd tell another lead

"Too many notifications" is almost never a volume complaint. People were fine with forty. They couldn't tell which three mattered right now, so the design problem was ranking, not reduction.

Selected screens

Broker
Broker
Drawer
Drawer
Homepage Personalization
Homepage Personalization
Placeholder visualBefore/after: five separate platforms vs. one stream.Recreate

Let's talk.

A little about me:

nav: