← All projects

Call Shield

2024

AI-powered spam call screening for Android. Blocks unwanted calls before they ring. Custom blocking rules available.

AndroidKotlinFirebaseSupabase

Problem

Spam-call screening on Android has a hard latency budget — the OS gives a CallScreeningService a narrow window to decide whether to block a call before it rings. A cloud round-trip for scoring risks missing that window entirely.

Architecture

Spam-probability inference runs entirely on-device: a Rust inference engine compiled to a native Android library (via JNI), invoked directly from a Kotlin CallScreeningService. No network call sits on the call-screening critical path.

Key decisions

  • On-device Rust inference instead of a cloud API call: eliminates round-trip latency inside Android's strict CallScreeningService time budget.
  • Rust compiled to a native library rather than a pure-Kotlin model: keeps inference fast and portable, and reuses scoring logic that isn't JVM-specific.

Results

Zero-latency spam scoring with custom user-defined blocking rules, shipping as a native Android library callable from Kotlin.