Building an Offline-First Robot Control App with Kotlin A developer published a tutorial for building an offline-first Kotlin/Android control layer for robotics and Physical AI systems, using Jetpack Compose, ViewModel/Flow, and a repository pattern to sit between the Android UI and a ROS 2, NVIDIA Jetson, or AI backend. The design queues commands with unique IDs for replay on reconnect, blocks dangerous physical actions while the robot's connection is unverified, and keeps hardware-specific code behind interfaces so the app can be extended with computer vision models, smart-glasses SDKs, or multimodal AI backends. In this tutorial, you will build a practical Kotlin/Android component for a robotics or Physical AI system. The design emphasizes asynchronous processing, lifecycle-aware state, real-time data handling, observability, and safe separation between the Android interface and physical robot control. Android Kotlin + Jetpack Compose ↓ ViewModel / Flow ↓ Repository / API ↓ ROS 2 / Jetson / AI Backend ↓ Robot System data class LocalRobotState val connected: Boolean = false, val pendingCommands: List