Problem
Pros need to be notified instantly when a property matching their criteria hits the market. Manual polling is too slow for competitive markets.
Acceptance Criteria
Implementation Guide (for opencode/mimo v2.5)
- Create
SavedSearch model in core/models/discovery.py
- Create
core/services/search_alerts.py with matching + notification logic
- Create
core/management/commands/run_saved_searches.py
- Add notification center view at
/notifications/
- Add
notifications/ URL and template
- Add Celery/Redis task for immediate notifications (or cron for daily/weekly)
Dependencies
- Requires: Discovery pipeline data sources (MLS, Rentometer, ATTOM)
- Requires: Email backend configured (SMTP)
- Enhances: Phase 1 data feeds (makes them actionable)
Problem
Pros need to be notified instantly when a property matching their criteria hits the market. Manual polling is too slow for competitive markets.
Acceptance Criteria
SavedSearchmodel: user, name, criteria (JSON), notification_frequency (immediate/daily/weekly), is_activecore/services/search_alerts.pywithrun_saved_searches()andsend_notification(user, property, search)python manage.py run_saved_searches --frequency=immediate/notifications/with unread badgeImplementation Guide (for opencode/mimo v2.5)
SavedSearchmodel incore/models/discovery.pycore/services/search_alerts.pywith matching + notification logiccore/management/commands/run_saved_searches.py/notifications/notifications/URL and templateDependencies