The challenge
WhatsApp has no API for reading messages on Android - any scraping is adversarial.
The solution
Two companion Android apps. WhatsAppListener uses NotificationListenerService with a keyword UI, per-device ID, deduplication and webhook POST. WhatsAppMonitor uses an AccessibilityService + Jetpack Compose + Room, walks WhatsApp's UI tree, extracts phone numbers with configurable country prefixes (1/972/…), persists via DAOs and reps, and exposes a Compose UI with navigation. A shared KeyStore project holds signing keys.
Results
2 + shared KeyStore
Apps
Notification / Accessibility
Permission tiers
HTTP webhook POST
Output
API 26+
Min SDK
