Deadreckon is an Android GNSS-integrity prototype. It compares satellite-derived movement with independent phone sensors, then turns those checks into a deterministic trust state. Its companion Expo app presents the verdict and the underlying signals in an avionics-inspired interface.
flowchart TD
A[GNSS and phone sensors] --> B[Sensor window]
B --> C[Six independent checks]
C --> D[Anomaly correlation]
D --> E[Deterministic RAIM/FDE state machine]
E --> F[Verdict and event log]
F --> G[Expo demo UI]
F --> H[Optional on-device explanation]
The SDK compares kinematic, heading, temporal, altitude, environmental, and satellite C/N0 behavior. The solar compass supplies an additional heading reference. A weighted RAIM/FDE-inspired state machine reports TRUSTED, DEGRADED, DENIED, or RECOVERING; recovery requires a clean streak to avoid trust-state flapping.
The physics pipeline decides the state. The optional on-device AI explains a verdict, transcribes a fixed set of voice commands, and supports semantic search over event reasons. It does not change the integrity decision.
| Area | Tools |
|---|---|
| Android sensor bridge | Kotlin, Expo native module |
| SDK and demo | TypeScript, Expo SDK 57, React Native |
| Signal checks | Pure TypeScript logic and recorded fixtures |
| Local models | ExecuTorch models loaded on device |
| Package layout | npm workspaces: packages/anchor-sdk, apps/anchor-demo |
Requires Node.js/npm and an Android development environment for the native sensor module.
git clone https://github.com/ChristopherJoshy/DeadReckon.git
cd deadreckon
npm install
npm testThe demo app lives in apps/anchor-demo. Use Expo's Android development workflow for device testing; GNSS measurements and sensor behavior should be checked on supported hardware rather than inferred from a browser preview.
packages/anchor-sdk/ integrity engine, sensor bridge, AI wrappers
apps/anchor-demo/ Expo cockpit UI and debug controls
MIT. See LICENSE.
This is a prototype integrity monitor, not a certified navigation system. Sensor availability and RF conditions vary by device; do not use its verdict as the sole basis for safety-critical navigation.