Human-centered redesign of Discord’s notification system

User-centered design enhancing accessibility and engagement in digital communication.

Case Study (PDF) · Back to Projects


  • Problem: Notification overload causing missed critical alerts and constant context switching.
  • Approach: Needfinding + heuristic evaluation + concept prototyping + comparative usability testing.
  • Outcome: Selected an adaptive notification framework as the strongest direction for reducing noise while preserving priority alerts.

This project tackles notification overload on Discord across diverse user groups. Using a user-centered design process (combined interviews, surveys, and heuristic evaluations), the work identifies key friction points (excess noise, poor prioritization, context switching) and designs an adaptive notification framework validated in comparative testing as the strongest direction for reducing noise while preserving critical alerts.

Process & Methods:

  • Needfinding: User interviews and surveys to map notification pain points, urgency thresholds, and channel-level expectations.
  • Heuristic evaluations: Assessed current flows against usability heuristics (visibility, control, error prevention, flexibility).
  • Synthesis: Affinity mapping of findings into themes (e.g., “context-sensitive muting,” “priority conflicts,” “channel spam”).
  • Prototyping: Three candidate concepts explored—
    • Smart Modes: context-aware notification profiles.
    • Content Filters: semantic/topic-based filtering.
    • PriorityHub: priority rules + digest/summary.
  • Evaluation: Comparative user testing (task-based walkthroughs + SUS-style feedback) to select the strongest direction.

This work strengthened how I approach system design: define failure modes, make tradeoffs explicit, and validate with structured evaluation.


Design Notes

  • Tradeoff framing: optimized for “reduce noise” without sacrificing “critical interrupt” delivery (safety > silence).
  • Control + transparency: users preferred systems that explain why something was prioritized and allow quick overrides.
  • Context sensitivity: the same user wanted different behaviors by situation (work vs social vs gaming), so modes/profiles tested better than global settings.
  • Evaluation lesson: comparative testing across concepts surfaced usability issues earlier than iterating one concept in isolation.