๐ What is this?
Roam is a native macOS location simulation tool for Android devices. Draw routes on a Mac, choose a movement mode, and inject continuously-changing GPS coordinates into a real Android device via USB + ADB, making the phone's location move as if in real motion. A complete testing loop: Connect โ Create Route โ Play โ Diagnose โ Safe Stop.
Unlike consumer-grade "location spoofers," Roam uses Android's official Mock Location API properlyโno hiding of the isMock flag,
no anti-detection countermeasures, no root required. Positioned with the tool-like feel of Xcode Instruments or Apple Maps.
โจ Key Features
Device Discovery & Companion
Auto-detect ADB, list USB-connected Android devices. Install/upgrade Companion APK in-app, with readiness checks.
Map & Route Editor
Search places, click the map to add origin, destination, and waypoints. Drag to reorder, delete, or fall back to straight lines.
Four Movement Modes
Walking (5 km/h), Running (10 km/h), Cycling (20 km/h), Driving (45 km/h). All support custom speeds.
Playback Controls
Start, pause, resume, stop. Phone injects coordinates at 1 Hz with the phone state as the authority. Auto-cleanup on disconnect.
Real-Time Telemetry
Current coordinates, speed, heading, accuracy, elapsed/remaining time, progress bar, injection status at a glance.
Diagnostics Panel
Five health checks (ADB, USB, Companion, Mock Location, Playback) + event timeline + one-click copy diagnostics.
๐ ๏ธ Architecture
Two-tier architecture: Mac controller (SwiftUI + MapKit) โUSB/ADBโ Android Companion (Kotlin, calling LocationManager test provider). Fully offline, no data upload, no cloud dependency. ADB port forwarding establishes a TCP long connection using length-prefixed JSON frame protocol.
๐ Privacy Design
No Real Location Collection
All locations come from routes you manually create. The Mac never reads your phone's real GPS.
All Local Storage
Routes and device info stored locally only. No account system, no cloud sync.
Channel Isolation
Companion only accepts local connections via ADB port forwarding. No Wi-Fi/LAN exposure.
Compliance First
Uses Android's official Mock Location API. No isMock hiding, no anti-detection.
