Qibla Direction Compass
Accurate, privacy-first Qibla compass for Android.
Qibla is a lightweight, privacy-focused native Android compass built with modern Kotlin and Android Sensor APIs. It requests foreground location only to calculate the great-circle bearing from the user's position to the Kaaba (21.4225° N, 39.8262° E), utilizes the rotation-vector sensor for live orientation, and applies geomagnetic declination corrections for accurate true-north alignment.
Corrects magnetic variation using Android's built-in geomagnetic declination model.
Hardware-accelerated orientation tracking with compass needle smoothing.

Engineered for Accuracy & Privacy
Uses Android's rotation-vector hardware sensors to provide responsive, smoothed real-time needle movement.
Automatically adjusts magnetic heading to true geographic north using Android's built-in geomagnetic declination algorithm.
Clear visual cues with 'Qibla facing' confirmation and subtle haptic vibration when your device faces Mecca.
Detects low sensor confidence and displays an animated figure-eight calibration prompt to ensure compass precision.
Supports device foreground GPS or manual coordinate entry for complete autonomy and offline usage.
Interface & Settings Preview

Live Qibla Compass & Bearing Display

Compass Settings, Coordinates & Preferences

App Details & Javed Khan Labs Attribution
Technical Specifications
Android 6.0+ (API 23–36)
Target SDK 36 (Android 16)
Kotlin 2.0.21
Android Gradle Plugin 8.13.2
Great-circle forward azimuth
Kaaba anchor: (21.4225° N, 39.8262° E)
TYPE_ROTATION_VECTOR
GeomagneticField declination correction
SensorManager.SENSOR_STATUS
Animated figure-8 guide on low confidence
Foreground-only location
Zero location transmission or logging