
Android app · Kotlin
Simple Android Compass
Pixel phones don't ship with a stock compass, and the free ones I found were full of ads. So I built one: a full-screen compass plus a live home-screen widget that shows true north as the main reading, with magnetic north overlaid so the difference is visible.
- Turns the phone's fused rotation-vector sensor into a smoothed heading, handling tilt and the jump from 359° to 0°.
- Calculates magnetic declination offline with Android's World Magnetic Model. The app has no internet permission and no third-party libraries.
- Updates the widget from a foreground service, only while the screen is on and the heading moves at least 1°, at about 12 updates a second at most.


