[Proposal] Smart Push Automation for Learner Motivation in Open edX Mobile
View the Github ticket for proposal status update
Overview
This proposal introduces the Smart Push Automation Engine (SPAE) - a client-side module that transforms basic notifications into personalized, behavior-driven prompts, helping boost learner engagement, course completion, and app retention on Open edX Mobile.
Problem
Learners often drop off after short periods of inactivity because current push notifications lack personalization and timely re-engagement, leading to low retention and course completion on Open edX Mobile.
Use Cases
Learner
As a learner, I need to receive warm, timely, and personalized nudges based on my individual progress and typical activity times, in order to maintain my learning momentum and avoid drop-offs.
As a learner, I need to receive personalized reminders after periods of inactivity (e.g., 1, 3, 7, or 14 days without progress) in order to stay motivated and return to my courses before losing learning momentum.
As a learner, I need to enable/disable notifications in order to decide whether I need notification by me.
As a learner who is actively progressing through a course, I need to receive encouraging push notifications when I complete sections or approach major milestones in order to maintain engagement and feel rewarded for consistent learning behavior.
As a learner who has completed over 50% of a course, I need to receive “final stretch” motivational pushes in order to encourage course completion and celebrate my progress.
Instructor
As an instructor, I need an automated way to keep learners engaged and progressing through modules, in order to increase completion rates without manually creating campaigns or reminders.
Operator
As an operator, I need a client-side engagement system that functions independently of ACE or Braze, in order to sustain learner retention and app visibility even when server-driven campaigns are unavailable.
Platform Administrator
As an platform administrator, I need to configure smart throttling and message frequency limits (e.g., one motivational push per day, deduplication within 60 minutes) in order to prevent user fatigue and maintain a respectful, non-intrusive communication experience.
Proposed solution
We plan to address this problem step by step, introducing a lightweight, client-side system that helps learners return to their courses through gentle, timely, and context-aware reminders - without collecting or analyzing personal data.
Behavioral triggers
SPAE uses simple, transparent re-engagement rules (e.g., D1, D3, D7, D14 after inactivity) to encourage learners to continue at the right time.Adaptive timing
Notifications are delivered within the learner’s typical activity window (e.g., 08:00-20:00 local).
Optional “quiet periods” can pause reminders during weekends or holidays to respect user downtime.User respect and control
The engine limits motivational pushes to one per day and suggests pausing notifications if activity remains low - maintaining attention and trust instead of pressure.UX integration
A new section in Settings → Notifications → Learning Motivation will allow learners to manage, pause, or disable motivational reminders directly from the app.Testing and refinement
The tone, timing, and message variations will be tested via A/B experiments to ensure SPAE feels helpful, relevant, and culturally appropriate across locales.
This initiative introduces the SPAE - an on-device automation module for Open edX Mobile (iOS and Android). SPAE is offline-first, privacy-respecting, and operates both independently and in coordination with ACE/Braze (when available). It can also serve as a fallback engagement engine in the absence of server-driven campaigns.
Core Capabilities
Local activity tracking: Monitors learner interactions such as last visited course or section, completed lessons, and overall progress.
Behavioral triggers: Automates re-engagement based on time and progress milestones (e.g., D1, D3, D7, D14 after inactivity; “almost finished” ≥50%; “next module available”).
Adaptive delivery time: Sends notifications within each learner’s habitual engagement window (rounded to :00 or :30), restricted to daytime hours (e.g., 08:00-20:00 local).
Smart throttling: Limits motivational pushes to one per day and prevents duplicates within 60 minutes.
Dynamic schedule rebuilding: Learner activity (e.g., opening a new lesson) resets the push cycle to ensure relevance and avoid redundancy.
Conflict prevention: Ensures only one active campaign per user to eliminate overlapping or contradictory messages.
User respect and control: If excessive notifications are detected, the system suggests pausing or disabling pushes. SPAE is designed to assist learners, not overwhelm them - maintaining trust and attention.
Content personalization: Supports dynamic placeholders such as learner progress, course/module names, and contextual details.
Example Scenarios
New learner: Started but didn’t complete a section → receives gentle reminders to resume the current lesson.
Active learner: Completed several lessons → prompted to begin the next module.
Experienced learner (≥50% progress): Receives “final stretch” messages with encouraging, social reinforcement to finish.
Examples of Sample Messages (full catalog in Appendix)
New learner:
D1: “You made a great start yesterday - let’s keep your spark alive!”.
D3: “Your lesson misses you. Let’s continue learning today.”
D7: “It’s been a week - perfect time for a comeback!”.
D14: “Two weeks off - let’s get back in the zone.”
Active learner:
D1: “Ready to start ‘%@’ today?”.
D3: “‘%@’ is calling your name - keep the streak alive.”
D7: “One week away - ‘%@’ is still waiting for you.”
D14: “Two weeks off - finish strong with ‘%@’!”.
Experienced (≥50%):
D1: “You’ve completed %@ of ‘%COURSE%’ - keep that momentum going!”.
D7: “Final stretch - %@ done. Let’s wrap it up together!”.
D14: “Two weeks away - time to finish ‘%COURSE%’.”
Architectural Context & Alignment
SPAE operates entirely on device and complements the existing server-driven notifications architecture, aligning with Open edX’s modular, privacy-conscious design principles.
Seamless integration: Works with existing edx-platform notifications and ACE.
No backend schema changes: Leverages existing progress APIs and local app storage (e.g., SQLite).
Native scheduling: Uses APNS/Firebase local scheduling where available, respecting quiet hours and OS notification policies.
Smart coordination: When ACE/Braze campaigns are active, SPAE can defer or synchronize to avoid duplication (configurable).
Offline fallback: Ensures learners stay engaged even when network connectivity or backend campaigns are unavailable.
This architecture keeps the core platform intact, while adding resilience, autonomy, and privacy - as behavioral logic and activity timestamps remain entirely on device.
Dependencies & Impacted Areas
Mobile apps (iOS/Android): Notification settings UI, local database, and scheduling logic.
Localization/i18n: Translation strings, tone consistency, and right-to-left (RTL) support.
Privacy/GDPR/FERPA: Local-only activity timestamps, clear opt-in/out flow, and no personal data in message templates.
Optional: ACE/Braze hooks for unified reporting and campaign analytics (if configured by the operator).
Other Approaches Considered
Server-only (ACE/Braze) logic: Costly and not always available. SPAE provides out-of-the-box re-engagement without additional backend infrastructure.
Email campaigns: Not mobile-contextual and deliver slower feedback loops.
Web plugins: Lack visibility into native app behavior and offline usage patterns.
Implementation plan
Milestone 1 - Research & Feasibility
Define local events (open, finish, progress), send windows, OS constraints (APNS/Firebase local scheduling).
Milestone 2 - MVP
Local queue, D1/D3/D7/D14 triggers, throttling, Settings → Notifications (“Learning Motivation”), basic i18n.
Milestone 3 - ACE/Braze Integration (optional)
If the backend exists, forward triggers to ACE; hybrid mode with fallback to local pushes.
Milestone 4 - UX & Localization & A/B
Tone and variant testing, experimental groups; metrics instrumentation.
Long-term ownership and maintenance plans
Ownership & Collaboration
Maintainers: AXIM Mobile Working Group (day-to-day ownership), in coordination with Open edX Mobile maintainers.
Product UX/UI WG: review learner-facing strings, tone, and localization.
(Optional) Marketing WG: align store-visibility goals and messaging guidelines.
Contact person
@Ivan Stepanok (ivan.stepanok@raccoongang.com)
Optional additions
Competitive Research
Coursera
Implements behavioral push notifications focused on recent activity (“last watched”) and progress reminders. These messages reinforce goal completion and encourage learners to return regularly to continue their courses.
Duolingo
Uses gamification-driven streaks and highly optimized notification loops as a primary growth and retention engine. The system combines behavioral nudges with emotional triggers to sustain daily engagement.
Khan Academy
Relies primarily on teacher-initiated reminders and limited automated personalization. While effective in structured classroom settings, it offers fewer adaptive engagement features for self-paced learners.
Open edX Opportunity
Open edX has the potential to become the first open-source platform to integrate a configurable, client-side behavioral automation engine. This would enable personalized, privacy-preserving re-engagement without reliance on third-party infrastructure - setting a new benchmark for learner motivation and autonomy in open education.
Impact on App Store Visibility
Consistent learner re-engagement directly strengthens behavioral metrics across both major app ecosystems:
In Google Play, higher engagement and stability feed into Android Vitals, improving perceived app quality and discoverability.
In the App Store, most installs originate from search, where ranking and click-through rates depend on relevance and sustained user engagement.
By driving more active sessions, longer retention, and healthier performance signals, SPAE enhances the overall app experience and organic visibility.
This makes it not only a pedagogical improvement, but also a strategic growth lever for the Open edX Mobile ecosystem.
Telemetry & Success Criteria
Category | Metric | Target/Expectation | Notes |
Primary | D7/D30 retention uplift (per platform) | +15–30% 30-day retention uplift (vs. baseline) | Based on mobile push industry benchmarks |
Return-to-course rate | Significant increase (≥10–20%) | Measures effective learner reactivation | |
Modules completed per returning learner | Steady or improved trend | Indicates learning depth and sustained engagement | |
Secondary | Sessions per user per week | Growth trend; target +10% | Reflects increased app stickiness |
Notification opt-out rate | Low (<5%) | Ensures user trust and satisfaction | |
Duplicate-push incidents | 0 (ideal) | Confirms throttling and conflict-prevention logic | |
Data boundaries | Telemetry scope | Aggregated, anonymized data only | SPAE stores only local timestamps and progress markers |
Privacy compliance | No PII in templates | Fully GDPR/FERPA compliant |
Open Questions for Rollout/Releases
Configuration surface: admin JSON vs. in-app UI under a feature flag?
Privacy/consent: local activity data only; transparent toggles.
Tone/frequency policy per instance (site-config): “friendly vs. formal,” quiet hours.
Operator policy: when to prefer ACE campaigns over SPAE, and which events to forward upstream?
Implementation Plan
Raccoon Gang is currently looking for funding for this proposal.