Status: Planned Phase: Core Functionality (Phase 2) Priority: High GitHub Issue: #5
Let's be honest - we all need a little help remembering to stay in touch! This feature proactively helps you maintain your relationships through smart reminders that let you know when it's time to reach out to someone.
- Automatically suggest when to reach out based on your usual patterns with each person
- Let you set specific reminders for important follow-ups
- Send notifications your way - however you prefer to receive them
- Give you full control over how reminders work for you
- "Person X not contacted for Y days/weeks"
- Configurable thresholds per contact or group
- Default threshold (e.g., 30 days)
- Per-contact custom thresholds
- Group-based thresholds (e.g., family: 7 days, colleagues: 90 days)
- Birthday reminders with configurable lead time (e.g., 3 days before)
- Anniversary reminders
- Smart suggestion of reminder intervals based on past interaction frequency
- "Contact X again on [specific date]"
- Recurring reminders (daily, weekly, monthly, yearly)
- Custom reminder messages/notes
- One-time vs. recurring configuration
- In-app notifications (badge count, notification center)
- Email notifications (daily digest or immediate)
- Browser push notifications (optional, with user permission)
- Configurable per-channel preferences
- Snooze functionality (1 day, 3 days, 1 week, custom)
- Dismiss reminders
- Mark as complete (optionally log interaction)
- Bulk actions on multiple reminders
- Reminder priority levels (high, normal, low)
- As a user, I want to be reminded when I haven't contacted someone in a while so I don't lose touch
- As a user, I want to set custom reminder intervals for important relationships so I can maintain regular contact
- As a user, I want to receive birthday reminders in advance so I have time to prepare
- As a user, I want to snooze reminders so I can postpone them to a more convenient time
- As a user, I want to choose how I receive reminders so they fit my workflow
- As a user, I want to create one-time reminders for specific follow-ups so I remember important commitments
reminderstable with contact_id, type, date, recurring, threshold, statusreminder_settingsfor user preferencesnotification_channelsfor channel configuration- Indexes on due_date for efficient querying
- Scheduled job to check for due reminders (every hour or daily)
- Email digest generator (configurable time)
- Birthday/anniversary checker (daily)
- Automatic reminder generator based on last interaction date
GET /api/reminders- Get all reminders with filteringGET /api/reminders/due- Get currently due remindersPOST /api/reminders- Create manual reminderPUT /api/reminders/:id- Update reminderDELETE /api/reminders/:id- Delete reminderPOST /api/reminders/:id/snooze- Snooze reminderPOST /api/reminders/:id/dismiss- Dismiss reminderPOST /api/reminders/:id/complete- Mark as completeGET /api/contacts/:id/reminder-settings- Get reminder settings for contactPUT /api/contacts/:id/reminder-settings- Update reminder settings
- Reminder list/dashboard
- Reminder creation form
- Reminder settings panel
- Notification badge/counter
- Snooze/dismiss action buttons
- Notification preferences page
- Reminder calendar view
- Daily digest template
- Individual reminder template
- Birthday reminder template
- Reminders generated accurately based on interaction history
- Notifications delivered reliably across all enabled channels
- Users can easily snooze, dismiss, or complete reminders
- Email delivery rate >95%
- Reminder threshold customization works correctly
- Epic 2: Relationship Management (for interaction-based reminders)
- Email service (SMTP configuration)
- Background job scheduler (node-cron or similar)
- Push notification service (optional)
- SMS notifications (keeping it simple for now)
- Integration with calendar apps (we'll add CalDAV in Phase 3)
- AI-powered reminder suggestions (future enhancement)
- Reminder templates library
- Epic 2: Relationship Management (provides interaction data)
- Epic 6: CalDAV/CardDAV Interface (calendar integration)
- Epic 9: Dashboard & Insights (displays reminder overview)