[Proposal] Smart Push Automation for Learner Motivation in Open edX Mobile

[Proposal] Smart Push Automation for Learner Motivation in Open edX Mobile

image-20251029-100345.png

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.

  1. 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.

  2. 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.

  3. 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.

  4. UX integration
    A new section in Settings → Notifications → Learning Motivation will allow learners to manage, pause, or disable motivational reminders directly from the app.

  5. 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.

notifications.png

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.

raccoongang-looking-for-funding.png