WHISKER
WHISKER
Rebuilding notifications around urgency, not devices.
Rebuilding notifications around urgency, not devices.
— clear, scalable, and built for Whisker’s connected ecosystem.
— clear, scalable, and built for Whisker’s connected ecosystem.










TL;DR
Context
Whisker makes connected pet-care robots — like the Litter-Robot, a self-cleaning litter box. Notifications are how those devices talk to their owners.
Whisker makes connected pet-care robots — like the Litter-Robot, a self-cleaning litter box. Notifications are how those devices talk to their owners.
Whisker makes connected pet-care robots — like the Litter-Robot, a self-cleaning litter box. Notifications are how those devices talk to their owners.
Problem
Whisker’s notifications were loud and flat — every alert arrived the same way, so 38% of users turned them off.
Whisker’s notifications were loud and flat — every alert arrived the same way, so 38% of users turned them off.
Whisker’s notifications were loud and flat — every alert arrived the same way, so 38% of users turned them off.
Solution
Reframed a settings problem as an architecture one and rebuilt around urgency tiers, not devices — shipped in two releases to de-risk the backend.
Reframed a settings problem as an architecture one and rebuilt around urgency tiers, not devices — shipped in two releases to de-risk the backend.
Reframed a settings problem as an architecture one and rebuilt around urgency tiers, not devices — shipped in two releases to de-risk the backend.
Team
Design: Minnie Tang (Lead & Researcher)
PM: Shannon C
Engineering: Justin G; Jashwath N; Jordan T
CX: Rachel P; Kristine G
Design: Minnie Tang (Lead & Researcher)
PM: Shannon C
Engineering: Justin G; Jashwath N
CX: Rachel P; Kristine G
Design: Minnie Tang (Lead & Researcher)
PM: Shannon C
Engineering: Justin G; Jashwath N; Jordan T
CX: Rachel P; Kristine G
Impact
+0%
+0%
opt-in rate
+0%
+0%
re-engagement
0%
0%
opened out of 51,000 taps
30 days post-launch, measured in Mixpanel
Meet Luna
Behind the 38% was someone like Luna.
Behind the 38% was someone like Luna.
Behind the 38% was someone like Luna.
An ordinary day — every event arrives the same way, so the one that matters is buried in the ones that don't.
An ordinary day — every event arrives the same way, so the one that matters is buried in the ones that don’t.
She bought a Litter-Robot and got a phone that never stopped buzzing. Every alert looked the same — so the one that mattered, "Cat sensor fault — robot paused," got swiped away with the rest. There was no way to turn it down. Just one flat list of identical toggles. So she turned it all off.
She bought a Litter-Robot and got a phone that never stopped buzzing. Every alert looked the same — so the one that mattered, “Cat sensor fault — robot paused,” got swiped away with the rest. There was no way to turn it down. Just one flat list of identical toggles. So she turned it all off.
Luna wasn't special. 38% of users disabled notifications — many within their first two months.
She wasn’t unusual. 38% of users disabled notifications — many within their first two months.
Luna wasn't special. 38% of users disabled notifications — many within their first two months.

On Reddit, owners had been openly asking to turn the volume down — for years.
On Reddit, owners had been openly asking to turn the volume down — for years.
Three problems sat under Luna's story — only one was about settings:
Three problems sat under Luna's story — only one was about settings:
Three problems sat under Luna's story — only one was about settings:
No priority — a jam and an activity summary arrived the same way.
No priority — a jam and an activity summary arrived the same way.
No priority — a jam and an activity summary arrived the same way.
Built around devices, not people.
Built around devices, not people.
Built around devices, not people.
Costing the business — muted users stopped opening the app, and Whisker+.
Costing the business — muted users stopped opening the app, and Whisker+.
Costing the business — muted users stopped opening the app, and Whisker+.
Where I Started
The first decision was not to add more settings.
The first decision was not to add more settings.
The first decision was not to add more settings.
The team wanted more controls. I pushed back — piling settings onto a system nobody understood would only bury the problem deeper. Before designing anything, I set out to understand why it was breaking.
The team wanted more controls. I pushed back — piling settings onto a system nobody understood would only bury the problem deeper. Before designing anything, I set out to understand why it was breaking.
The team wanted more controls. I pushed back — piling settings onto a system nobody understood would only bury the problem deeper. Before designing anything, I set out to understand why it was breaking.
Not adding settings was the first real decision — and the hardest one to sell.
Not adding settings was the first real decision — and the hardest one to sell.
Not adding settings was the first real decision — and the hardest one to sell.
Research
Letting users settle the disagreement.
Letting users settle the disagreement.
Letting users settle the disagreement.
We agreed on the problem, not the cause. So I turned "why is it broken?" into a question users could answer — and let the research make the call.
The team agreed the design was broken; we disagreed on why. Rather than out-opinion anyone, I got PM and engineering to commit to one thing: let users settle it. That turned a stalemate into a research question the whole team had bought into.
We agreed on the problem, not the cause. So I turned "why is it broken?" into a question users could answer — and let the research make the call.
72% wanted simplicity; 28% wanted control.
72% wanted simplicity; 28% wanted control.
72% wanted simplicity; 28% wanted control.
When I asked which features would help, they named modes — "quiet mode," "vacation mode." I prototyped exactly that. It beat the old system — and was still organized around how Whisker thought, not how they did. So I ran a card sort. People didn't sort by device or by category.
When I asked which features would help, they named modes — “quiet mode,” “vacation mode.” I prototyped exactly that. It beat the old system — and was still organized around how Whisker thought, not how they did. So I ran a card sort. People didn’t sort by device or by category.
When I asked which features would help, they named modes — "quiet mode," "vacation mode." I prototyped exactly that. It beat the old system — and was still organized around how Whisker thought, not how they did. So I ran a card sort. People didn't sort by device or by category.
When users sorted their alerts, they fell into three natural groups — act now, good to know, and can wait. Those three groups became the three tiers later (Essentials · Moderate · All)
When users sorted their alerts, they fell into three natural groups — act now, good to know, and can wait. Those three groups became the three tiers later (Essentials · Moderate · All)
When users sorted their alerts, they fell into three natural groups — act now, good to know, and can wait. Those three groups became the three tiers later (Essentials · Moderate · All)

User sorted by urgency, unprompted: "I'd need to act on this." "This can wait."
User sorted by urgency, unprompted: "I'd need to act on this." "This can wait."
The Call I Made
Users asked for “quiet” and “vacation” modes. I shipped three urgency tiers instead — the problem wasn’t a trip, it was every ordinary day.
Users asked for “quiet” and “vacation” modes. I shipped three urgency tiers instead — the problem wasn’t a trip, it was every ordinary day.
The call
Rebuild around urgency tiers — Essentials · Moderate · All, Custom underneath.
Rebuild around urgency tiers — Essentials · Moderate · All, Custom underneath.
Rebuild around urgency tiers — Essentials · Moderate · All, Custom underneath.
Instead of
The modes users asked for.
The modes users asked for.
The modes users asked for.
The risk
Overriding a stated preference — the card sort backed it.
Overriding a stated preference — the card sort backed it.
Overriding a stated preference — the card sort backed it.
Design Iteration
Finding 1 — Vague labels made people guess → presets spell out what’s included
Finding 1 — Vague labels made people guess → presets spell out what’s included
Users make informed choices without guessing
Users make informed choices without guessing

💡 Why this layout: top = most urgent, so the hierarchy itself maps to priority — and the most-used controls stay in thumb reach, with room for context under each mode.
Finding 2 — The 28% needed Custom → kept every toggle
Finding 2 — The 28% needed Custom → kept every toggle
Custom mode with top-level category access and per-device toggles.
Custom mode with top-level category access and per-device toggles.

Getting the structure right took three passes.
Pass 1 — Proved the model, but buried it several taps deep.
Pass 1 — Proved the model, but buried it several taps deep.
Pass 2 — Clearer, but still one hop too many.
Pass 2 — Clearer, but still one hop too many.
Pass 3 (shipped) — Category-first, one page, one tap sooner.
Pass 3 (shipped) — Category-first, one page, one tap sooner.

Scalability: modular notification framework—new devices plug in without IA redesign
Behind the Build
In the engineering review after design sign-off, preset mode almost got cut. Engineering flagged it — too granular to build yet, and the backend lift was heavy. Instead of defending all of it or dropping it, I reframed the question: from "what's the ideal launch?" to "what lowers risk as we scale?" We shipped Custom first on the new urgency structure and deferred presets to V2, once the backend could honor them. The architecture shipped intact — we just sequenced it.
In the engineering review after design sign-off, preset mode almost got cut. Engineering flagged it — too granular to build yet, and the backend lift was heavy. Instead of defending all of it or dropping it, I reframed the question: from "what's the ideal launch?" to "what lowers risk as we scale?" We shipped Custom first on the new urgency structure and deferred presets to V2, once the backend could honor them. The architecture shipped intact — we just sequenced it.
In the engineering review after design sign-off, preset mode almost got cut. Engineering flagged it — too granular to build yet, and the backend lift was heavy. Instead of defending all of it or dropping it, I reframed the question: from "what's the ideal launch?" to "what lowers risk as we scale?" We shipped Custom first on the new urgency structure and deferred presets to V2, once the backend could honor them. The architecture shipped intact — we just sequenced it.
Final Experience
One framework, built to scale with the ecosystem.
One framework, built to scale with the ecosystem.
One framework, built to scale with the ecosystem.
Behind the scenes, every alert carries a priority. Choose how much reaches you — a preset (Essentials, Moderate, or All), or full Custom to fine-tune.
Behind the scenes, every alert carries a priority. Choose how much reaches you — a preset (Essentials, Moderate, or All), or full Custom to fine-tune.
Behind the scenes, every alert carries a priority. Choose how much reaches you — a preset (Essentials, Moderate, or All), or full Custom to fine-tune.

Three passes got it onto one page, and every label now says what you receive
Three passes got it onto one page, and every label now says what you receive
Preset picker → Pick a level — Essentials, Balanced, or All — and you’re done.
Preset picker → Pick a level — Essentials, Balanced, or All — and you’re done.
Preset picker → Pick a level — Essentials, Balanced, or All — and you’re done.
Custom view → Want control? Every toggle’s still here, now grouped by urgency.
Custom view → Want control? Every toggle’s still here, now grouped by urgency.
Custom view → Want control? Every toggle’s still here, now grouped by urgency.

The people who’d turned it off came back.
The people who’d turned it off came back.
The people who’d turned it off came back.
Opt-ins reversed the decline — people were choosing notifications again.
The real win wasn't the number — notifications started earning their place back. Alerts became worth reading.
Opt-ins reversed the decline — people were choosing notifications again.
The real win wasn't the number — notifications started earning their place back. Alerts became worth reading.
Opt-ins reversed the decline — people were choosing notifications again.
The real win wasn't the number — notifications started earning their place back. Alerts became worth reading.
Next step
After launch, we refined the in-app message content with a copywriter, tuned delivery with PM and engineering, and brought older devices onto the framework.
After launch, we refined the in-app message content with a copywriter, tuned delivery with PM and engineering, and brought older devices onto the framework.
After launch, we refined the in-app message content with a copywriter, tuned delivery with PM and engineering, and brought older devices onto the framework.
Takeaways
Takeaways
Set success metrics before launch, not after.
Set success metrics before launch, not after.
Set success metrics before launch, not after.
Surface backend constraints during design, not mid-build.
Surface backend constraints during design, not mid-build.
Surface backend constraints during design, not mid-build.
Sharpen the research question before testing — one fuzzy round cost me an extra one.
Good notification systems balance clarity and control.
Sharpen the research question before testing — one fuzzy round cost me an extra one.
Next projects
Next projects
EST. 2025
EST. 2025
2:06:12 UTC
2:06:12 UTC


