Designing a Cross-Surface Notification System
Stride

Overview
The K12 App is a social media and education management app designed for Stride Learning, Inc. It lets parents of virtual-schooled children connect and view their respective student's progress. My role involved building the design system from the ground up. I was specifically tasked with creating a first time user experience that guided users through new features as they released on the app.
The Problem
Stride's platform connects parents of online learners. But when new users opened the app, they hit an empty feed and left. Returning users had no way to triage what needed attention. Notifications existed but weren't coordinated — some things were push-only, some were buried in settings, and there was no strategy for what surface carried what message.


Early value exploration with the team showed what opportunities would result in the best business value.

Benchmarking revealed similar patterns where users were dropped into an entirely new interface, but offered suggestions on how to move forward.
Solution
I designed a system where urgency determines the surface. This prevents notification fatigue while ensuring critical alerts are unmissable.

The Logic
The system features automatic decay. Three views without action, and the nudge fades. This prevents nudge fatigue without forcing the user to manually dismiss. Recommendations, on the other hand, are value-adds that should always feel fresh — they refresh dynamically and don't expire. The distinction matters because confusing a recommendation for a nudge (or vice versa) erodes trust.

All nudges can be configured down to the type within Settings. A tooltip suggesting this always appears upon user dismissal.
Final Thoughts
Looking back, the biggest gap is that this was designed without an experimentation framework. Every nudge type should be a hypothesis with defined success metrics — not just 'does it get clicked' but 'does it drive retained engagement.' I'd also want to define push vs in-app delivery rules explicitly, add time-of-day sensitivity, and design a smarter batching strategy.

