Skip to content

Implement Practice Reminder System #210

@smithrashell

Description

@smithrashell

Feature Request: Implement Practice Reminder System

Current Status

The reminder settings UI is already implemented in the content script settings page with the following options:

  • ✅ Streak alerts
  • ✅ Cadence nudges (based on practice rhythm)
  • ✅ Weekly goal notifications
  • ✅ Re-engagement reminders

However, the actual reminder functionality is NOT implemented yet. The settings are stored but never used.

What Needs to Be Done

  1. Add alarms permission back to manifest.json (when implementing)

    • Currently removed for Chrome Web Store compliance
    • Required for scheduled/recurring reminders
  2. Implement reminder scheduling system

    • Use chrome.alarms.create() to schedule recurring checks
    • Check user's reminder preferences from storage
    • Analyze user's practice patterns (streak, cadence, goals)
  3. Implement reminder delivery

    • Use chrome.notifications.create() to send reminders (permission already exists)
    • Send appropriate reminder based on type:
      • Streak alerts: Notify when streak is at risk
      • Cadence nudges: Remind based on user's typical practice rhythm
      • Weekly goals: Mid-week & weekend check-ins
      • Re-engagement: Bring back inactive users
  4. Respect user preferences

    • Only send reminders if settings.reminder.enabled === true
    • Only send specific reminder types that user has enabled
    • Respect "learning phase" - wait until user completes 5+ sessions

Implementation Notes

Files to Modify

  • chrome-extension-app/public/manifest.json - Add "alarms" permission back
  • chrome-extension-app/src/background/index.js - Implement alarm scheduling and handlers
  • Create new service: chrome-extension-app/src/shared/services/ReminderService.js

Related

  • Removed in commit for Chrome Web Store compliance (permission requested but not used)
  • Chrome Web Store policy: Don't request permissions for unimplemented features

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions