Our apps run in two quite different places. One is a Flutter product in the Apple and Google stores that clinicians and employers use in the field. The other is Android hardware installed in venues, running a Kotlin app in kiosk mode with nobody nearby to restart it.
They share a problem. An installed build stays in the field for a long time, so the API contract it depends on is effectively frozen, and a change on the server reaches the oldest version first.
What you would work on:
- Ship releases of a live Flutter app, including its state management, a typed HTTP layer, and the auth, messaging and crash reporting services behind it.
- Build and maintain Android device apps in Kotlin, including TV and kiosk builds that run unattended on hardware we don't control.
- Hold the API contracts that installed apps depend on, and design new surface so a server change never breaks a build that shipped two years ago.
- Work on device identity from the app side. Pairing, tokens, and recovering a unit that lost its credentials without sending someone to the site.
- Release engineering, including signing, staged rollouts, store review, and the guards that stop a mis-versioned build from going out.
- Instrument what happens after release with crash reporting and analytics, then act on what comes back.
- Work directly with the platform engineers who own the API, usually in the same week rather than across a quarter.
What we look for:
- You've shipped an app to the Apple or Google store and maintained it through review cycles and past its first release.
- Strong Flutter or strong Android, plus a genuine willingness to work in the other one.
- You've consumed an API you didn't control and handled the releases where it changed underneath you.
- You test on real hardware before a release goes out, and you have the devices or can tell us what you need.
- You can read and reason about the backend your app talks to, even when you're not the one changing it.
Nice to have:
- Android TV, kiosk mode, or device owner and managed provisioning.
- WebView-heavy apps and the bridge between native and web.
- Capacitor or React Native.
- Firebase, including messaging and crash reporting at scale.
- Biometric and local authentication.
- Any experience with connected hardware, BLE pairing, or device provisioning.