3.10 Role Overview
Headcount 1
Reporting to Technical Lead (DaaS Labs)
Seniority 3-6 years; junior-to-mid per Nick Green's
guidance
Repository FT Mobile (Expo React Native 0.76+, Legend
State, iOS + Android)
Critical flag Observable/reactive state management is
the primary screening gate
3.11 Functional Requirements
The Mobile Developer owns the FT field crew application — the tool that foremen and laborers use on-site to clock in/out, log safety documents, track tasks, and submit timesheets. This app must work offline in areas with poor connectivity and sync reliably when reconnected.
• Develop and maintain cross-platform iOS and Android
features in the Expo React Native codebase
• Support BYOD (Bring Your Own Device) compatibility —
the app must run reliably on personal employee devices across mixed iOS and
Android versions
• Implement offline-first functionality — local data
persistence, sync queue management, conflict resolution
• Build geolocation-based features — clock-in/out with
GPS validation
• Integrate NFC hardware via react-native-nfc-manager
for badge-based attendance
• Implement camera capture for safety documentation
(JSP photos, EIS documents)
• Build smooth, intuitive mobile UI using React Native
Paper (Material Design)
• Ensure the app performs consistently across both iOS
and Android platform guidelines
• Integrate with the FTApi via Axios — handle network
failures gracefully
• Implement analytics via Azure Application Insights
and Microsoft Clarity
• Manage app builds and store submissions via EAS Build
(Expo Application Services)
• Collaborate with QA engineers on test coverage and
device compatibility validation
• Write unit and component tests using Jest and React
Native Testing Library
3.12 Technical Requirements
Core Stack — Required
• React Native 0.76+ — must be the current major
version; outdated RN experience (0.6x or earlier) needs explicit validation
• Expo SDK 52+ with bare workflow — must understand the
difference between managed and bare Expo
• React 18.3+ — hooks, functional components,
performance optimization
• TypeScript / ES6+ — TypeScript required, not optional
• React Navigation 6+ — Stack, Bottom Tabs, Material
Top Tabs navigators
State Management — CRITICAL SCREENING REQUIREMENT
This is the single most important technical screening criterion for this role.
Candidates must demonstrate practical understanding of observable/reactive
state patterns — theoretical familiarity is not sufficient.
• Legend State — preferred; production experience is
ideal, close familiarity is acceptable
• MobX — strongly preferred if Legend State experience
is not available
• Zustand — acceptable; demonstrates reactive state
thinking
• Vue.js (reactivity model) — acceptable signal of
reactive state understanding per Nick Green's guidance
• RxJS with observable streams — acceptable;
demonstrates the underlying reactive paradigm
• Signals (native or framework-level) — acceptable; BSW
explicitly includes this in observable experience
• NgRx (Angular) — some credit; shows observables
literacy, but Angular-to-React-Native gap must be assessed
• Redux only — does not meet the requirement; must
demonstrate reactive state understanding separately
• Recoil only — insufficient; US Client rated this as
'familiar' rather than production observable experience
Device Integration — Required
• Expo Camera — photo capture for safety documentation
upload
• react-native-nfc-manager — NFC badge reading for
attendance
• Location services — GPS for geofenced clock-in/out
• AsyncStorage — local data persistence for offline
mode
• File system operations — PDF viewing, document
attachment handling
Networking and Offline — Required
• Axios for API integration with proper retry and
timeout handling
• Offline-first architecture — must be able to describe
a concrete approach to local-first data with background sync
• Real-time data sync patterns — must have shipped at
least one feature with background sync or push state
Build and Deployment — Required
• EAS Build — Expo Application Services build pipeline
for iOS and Android
• App Store (Apple) and Google Play submission process
— must have shipped to both stores
Additional Skills — Preferred
• React Hook Form with Zod schema validation
• Azure Application Insights SDK for React Native
• Microsoft Clarity mobile integration
• React Native Paper component library
• Detox or equivalent end-to-end mobile testing
What Will Not Pass US Client Evaluation
• React Native experience limited to convention
component/navigation/REST patterns with no state management beyond Redux or
Context
• Only web React experience with no native mobile
shipping history
• Expo managed workflow only — the FT app uses bare
workflow
• No App Store or Google Play submission
experience
4.2 Mandatory Screening Gate — Mobile Role
Before any React Native candidate progresses to a client interview, they must demonstrate one of the following in a phone screen:
• Can describe production use of an observable/reactive
state library (Legend State, MobX, Zustand, RxJS, Signals, or Vue.js
reactivity model)
• Can explain the conceptual difference between
push-based (observable) and pull-based (Redux selector) state models
• Can walk through how t
Apply through whichever channel suits you best.