· Strong commercial Android experience in Kotlin, with Coroutines and Flow. You’d also help maintain the iOS app, so you’ll need the appetite to work in Swift.
· Real experience of background execution and its failure modes - foreground services, WorkManager, AlarmManager, broadcast receivers, and why they silently stop firing.
· Comfort with the Android runtime permission model, particularly background location.
· Modern Android UI and architecture: Jetpack Compose, structured concurrency with Coroutines and Flow, DI, local persistence, an HTTP client.
· The instinct to write tests for concurrency, not just happy paths. Most of what breaks here is a race, a lifecycle edge, or a restart mid-flight.
· Practical fluency with AI coding agents, and a clear-eyed view of what they’re bad at. We use them regularly, and we want someone who prompts deliberately, knows when to stop and do it by hand, and reviews the output critically.
· Willingness to debug from evidence - device logs, CSV traces, ANR and crash reports - and add relevant and targeted logging to catch a future problem.