Skip to content
HA
← All projects

Kotlin

WhatsCheck

Android app that checks in real time whether an unknown incoming caller has WhatsApp using the user's own linked companion device. Non-blocking CallScreeningService, embedded Go engine (whatsmeow) via gomobile, Jetpack Compose overlay, and extreme data minimization.

What it solves

Spam and telemarketing calls rotate numbers constantly, bypassing community blocklists; however, they rarely have an active WhatsApp account, unlike real people or legitimate businesses. WhatsCheck performs a real-time check while the phone is ringing whenever an unsaved number calls. It neither blocks the call nor labels it as spam: it unobtrusively displays the fact via a floating overlay bubble or heads-up notification so the user can decide whether to answer.

Stack

  • Kotlin
  • Jetpack Compose
  • Go (whatsmeow)
  • gomobile / JNI
  • CallScreeningService

Infra

100% on-device architecture with zero backend or intermediary servers. Android CallScreeningService intercepts unsaved calls and WindowManager renders the Jetpack Compose overlay. The whatsmeow (Go) protocol engine runs embedded via gomobile/JNI, pairing via companion device code and delivering ~2s p95 response times on cellular data. The session enforces strict data minimization: no message history or contact sync, engineered under Spec-Driven Development (SDD).