An indoor spatial-awareness assistant for blind and low-vision users — iPhone LiDAR, on-device ML, spatial audio, and a haptic vocabulary combine into a genuine sixth sense indoors. No server, no account, no data collected.
Canes and guide dogs are excellent at ground level. They cannot warn about a drop-off two steps ahead in an unfamiliar building, an open cabinet door at head height, or where you left your keys. A modern iPhone carries a LiDAR scanner, a neural engine, and an HRTF spatial-audio renderer — enough hardware to give a blind user a real sixth sense indoors. SpatialNav does that with production discipline rather than tech-demo shortcuts.
Point the phone forward and walk: obstacles ping from their true 3D direction like sonar, drop-offs and stairs trigger unmistakable warnings, everyday objects are recognised and located (“keyboard, 1 metre at 12 o'clock”), misplaced items guide you back with an audio beacon, and saved rooms are recognised when you return. Every signal travels through the user's choice of sound, speech, and vibration — including a fully audio-free profile for deaf-blind users.
Warn-first, never silent: when the thermal governor downshifts ML frame rate or sonar ray count under stress, the degradation is announced. A stuck relocalisation trips a 10-second watchdog that says “I can't recognise this space” and starts fresh rather than guiding on stale data.
MVVM with a framework-free Domain layer, dependency-injected through a single composition root. ViewModels and use cases see only protocols — 148 unit tests run without a camera, plus an automated accessibility audit (Xcode's performAccessibilityAudit) in CI on every push, which has already caught three real contrast and layout issues.