Critical updates were invisible, broken workflows silent. I audited 100+ triggers and designed the multi-channel architecture.

{{ st.l }} {{ st.v }}
↓ scroll
Notification audit map — 100+ event triggers

Product Overview

{{ t }}

PandaDoc’s notification system had grown organically — a patchwork of email alerts with no ownership, no urgency model, and no channel flexibility. Critical updates could arrive late or land in spam.

I co-led the redesign from discovery through architecture: auditing all 100+ notification triggers, mapping urgency tiers, and designing a multi-channel delivery model across Slack, Teams, SMS, and mobile push.

Project timeline — 4 months
{{ t.t }} {{ t.sub }}
Month 1 Months 2–3 Month 4

Research methods

{{ m.t }}
{{ m.d }}
Research artifacts
01 / 04
Notification taxonomy — every notification type grouped by category
Every notification the product emits

Twelve categories of notification laid out at once — document, reminder, payment, approval, redlining, workspace, system — against the channels, recipient roles and entity types that cut across all of them. The audit that made the scale of the problem arguable.

Notification lifecycle swimlane across sender, signer, CC, approver and the system engine
One event, five actors

A document event enters the engine, resolves to recipient roles, then fans out across channels. Each lane is an actor; the bottom lane is the engine itself — which is where the sequencing constraints turned out to live.

The workspace multiplier — per-workspace roles aggregated into one feed
The workspace multiplier

A person is Admin in one workspace and Member in another, so what they get notified about is a function of role × workspace × account level. A flat category list cannot express that, which is why the settings model had to change.

Notification capability matrix — PandaDoc 2022 against DocuSign, HelloSign and Adobe Sign
Where the product actually stood

The 2022 audit set against the three competitors the research covered, capability by capability. Every cell traces to the audit or a competitor page — and the gaps it exposed, Slack and digest modes among them, set the scope.

Users

{{ a.name }} {{ a.roleLine }}
When{{ j.w }}
I want to{{ j.i }}
So I can{{ j.so }}
{{ j.note }}
Stage
User action
Emotion
Pain point
Design response
{{ st.num }}{{ st.name }}
{{ st.action }}
{{ st.emotion }}
{{ st.pain }}
{{ st.response }}

Problems

{{ p.n }}
{{ p.descPre }}{{ p.descHl }}{{ p.descPost }}
+
Customer feedback & support tickets

{{ q }}

Key Decisions

{{ d.fig }}
{{ d.tPre }}{{ d.tHl }}{{ d.tPost }}
+
{{ d.label }}

{{ d.d }}

Design Solutions

01 / 05
{{ im.el }}
{{ s.t }}

{{ s.d }}

The Outcomes

{{ o.n }}
{{ o.delta }} {{ o.delta2 }}
+
{{ o.t }}

{{ o.dPre }}{{ o.dHl }}{{ o.dPost }}

The Learnings

{{ l.n }}
{{ l.tPre }}{{ l.tHl }}{{ l.tPost }}
+

{{ l.d }}