A single registry-driven system for in-app engagement nudges (banners, modals, and toasts) that replaces the handful of one-off implementations currently scattered across the app.
Requirements
- Each nudge declares its trigger, audience/conditions, dismissal behavior, and persistence (e.g. dismissed-forever vs. session-only) in the registry.
- Migrate every existing engagement-style one-off onto the new framework and delete the old implementations. No parallel systems left in the codebase when this lands.
- Dismissal state for "don't show again" nudges persists across sessions per user/browser, some of them have a mechanic to show nudges again after some time which we need to keep.
- Analytics events for nudge shown, dismissed, and primary-action clicked, with the nudge id as a property.
- Tests covering trigger conditions, dismissal persistence, and that each migrated nudge still fires in the same situations as before.
- The unoffical runs banner works very differently from the other nudges, up to you if you want to keep that one separate or unify it.
Nice to have
A single registry-driven system for in-app engagement nudges (banners, modals, and toasts) that replaces the handful of one-off implementations currently scattered across the app.
Requirements
Nice to have