AvtoPilot on Android is now a native app, with the 3D simulator
The AvtoPilot that reached Google Play in April was the web app in a wrapper. It worked, and it let us ship Android at all, but it was a browser tab in disguise. It could not schedule a reminder while closed, it could not render the simulator natively, and everything you had done lived in browser storage. In July we switched the launcher to a native app written in Kotlin, and in August the first native build went to Google Play.
The switch itself is one Intent. The wrapper is still in the manifest as a rollback: reverting a single line puts every Android user back on it without touching anything else. Before flipping we verified that progress stored by the wrapper migrated into the native app, and only then the launcher itself, because an untested flip is how people lose their streaks.
The traffic-controller simulator was the hardest port. On iOS it is what turns the exam's flat picture of a controller into a junction you can rotate. Android now renders it with Filament, Google's rendering engine, on the same rules engine and the same scene data as iOS. The part that mattered was not drawing it but changing the pose. In free play a learner changes the officer's pose constantly, and rebuilding the scene for every change fills a reference table that a slow driver never drains, until the app dies. So the junction, trees, officer and cars upload once, and a pose change only re-poses the officer and re-plans the arrows. We measured it on a saturated device: 400 pose changes moved the live reference count from 452 to 456, against an idle baseline that drifted between 447 and 452. The simulator sits on the Home screen as a free-play card and, as on iOS, is part of Premium.
Two smaller things landed on the way. Tickets 123 and 124 were added from the official bank on 1 August, so the app now covers 124 tickets and 1,235 questions, and the product page has been corrected to match. And the evening streak reminder now comes from the server, which names you and your streak count. The apps schedule their own local reminder only when the server says it will not push, so nobody gets the reminder twice and nobody gets silence.
The number we are watching is the rating. AvtoPilot holds 4.7 on the App Store from 119 ratings and 4.5 on Google Play. The Play rating includes the months on the wrapper, and it is too early to say whether the native build moves it. Google Play serves version 2.4.0 today.