I’m building a cross-platform mobile app that works hand-in-hand with a small external button. Once the phone detects that the button is within range (default 10 m) the user can interact normally, but the moment it drifts beyond that radius the interface must flip into a hard lock: the screen greys out, usage is blocked, and a bold red alert explains that the button is out of range. When the user presses the button the lock lifts instantly—no extra prompts—so they can jump straight back into their apps. Alongside this core flow the app needs to: • Pair with the button via the most suitable wireless stack; I’m open to Bluetooth 5, classic 4.0, or even UWB if you believe it will be more reliable for distance checks. • Log and display total screen-time as well as cumulative lock duration so users can see how often the safeguard kicks in. • Let users tweak the allowable distance in settings while keeping 10 m as the default. Both iOS and Android builds are required, sharing as much code as practical. I’ll rely on you for guidance on the ideal framework (native, Flutter, React Native, Kotlin Multiplatform, etc.) and for choosing or designing a lightweight firmware/protocol for the physical button so connection and range detection stay rock-solid even when the phone is in a pocket. Deliverables 1. iOS and Android binaries plus full source code. 2. Simple companion firmware spec for the button, or ready-to-flash code if you prefer. 3. Setup and build instructions that let me compile fresh. 4. Short PDF or in-app page summarising how distance is calculated and how to adjust it. I’ll test by pairing with a dev kit button, walking beyond 10 m, confirming the lock appears, and pressing the button to verify immediate unlock. Once that round-trip is smooth I’ll consider the job complete.