Могу только сказать, что разрабатывал приложение на основе встроенных датчиков и уверяю, что точность этих датчиков крайне низкая. Без калибровки и постоянной корректировки с использованием GPS полагаться на них нельзя. Кстати, многие карты используют эти датчики для навигации в тоннелях и в помещениях.
И да, написать подобное приложение совсем не сложно, на сборщик данных для анализа точности датчиков у меня пара вечеров ушла в свое время, из которых большую часть времени интерфейс рисовал.