
Senior Mobile Engineer (Kotlin Multiplatform / Native iOS & Android, Americas Remote, 1099)/ 3 days ago
Quick Summary
Senior Mobile Engineer (Kotlin Multiplatform / Native iOS & Android)
Contract (1099), Remote – Americas time zones
Role Overview
Design, build, and own the next generation of the ServiceFactor mobile application. This role emphasizes Kotlin Multiplatform (KMP) for shared business logic, native UIs on iOS (Swift/SwiftUI) and Android (Kotlin/Jetpack Compose), offline-first behavior, and card-present payments via Bluetooth devices.
This is a hands-on 1099 contract position where you will lead the architecture and greenfield implementation of the new app, then serve as the primary owner for maintenance, iterative enhancements, and technical stewardship. You will collaborate directly with the CEO and Head of Engineering, and work with the existing backend/web team.
What You'll Do
Architecture & Greenfield Build
- Design the comprehensive mobile architecture, including KMP shared modules, native UI layers, offline storage, sync engine, and REST API integration.
- Implement a local-first data model (e.g., SQLDelight/Room/CoreData) for work orders, invoicing, customers, equipment, and time tracking.
- Create detailed design and architecture documents for review.
- Build and ship native UIs for:
- Job lists and detail workflows.
- Quotes, invoices, and signatures.
- Customer and equipment management.
- Time tracking and basic supervisor views.
- Integrate with the existing backend (Laravel/API) and authentication model, managing token handling, secure storage, and session management.
Payments, Bluetooth, and Reliability
- Implement card-present payment flows using vendor-specific SDKs on both iOS and Android.
- Integrate and manage Bluetooth payment devices and other peripherals using native stacks (CoreBluetooth / BluetoothGatt).
- Ensure PCI-aware payment flows: no PAN/CVV handling in app code, secure token storage, and safe logging.
- Design for real-world field conditions: intermittent connectivity, older/mid-range Android devices, and long-running sessions.
Offline-First and Lifecycle
- Establish automated testing (unit, integration, end-to-end) and a CI/CD pipeline for mobile builds.
- Set up crash and performance monitoring, logging, and metrics.
- Own App Store / Google Play configurations, release processes, and test builds (TestFlight / internal testing tracks).
- Document architecture and decisions (design docs, ADRs, diagrams) for future contributions.
- Act as the long-term owner of the mobile codebase, focusing on iterative enhancements, performance tuning, and new features.
- Support pre-existing maintenance on legacy iOS and Android apps during the transition.
Who You Are
Must-Have Experience
- 6+ years of professional mobile development experience.
- 3+ years with Kotlin in production, and 1+ year with Kotlin Multiplatform (KMP) or shared-logic patterns.
- Strong experience with native iOS (Swift, SwiftUI and/or UIKit) and native Android (Kotlin, Jetpack Compose and/or Views).
- Demonstrated experience building offline-first mobile apps with:
- Local database, queued writes, and sync strategies.
- Conflict handling and robust error recovery.
- Solid experience integrating with REST/JSON APIs, authentication tokens, and secure storage (Keychain/Keystore).
- Hands-on experience with Bluetooth integrations on at least one platform (CoreBluetooth or BluetoothGatt).
- Experience integrating payments or FinTech SDKs (card-present and/or card-not-present) and working within PCI-related constraints.
- Demonstrated experience communicating technical architecture and design via engineering docs and diagrams, and working in a software design lifecycle (SDLC) process with review stages.
- 3+ years of Mobile QA automation experience for writing code with automation tests.
- 3+ years of Cloud experience (AWS preferred but not required).
Nice-to-Have Experience
- Prior work on field-service, logistics, or other hardware-heavy / offline-heavy mobile apps.
- Experience tuning performance on mid-range and older Android devices.
- Familiarity with SQLDelight, Ktor, Koin, coroutines/Flows, and Swift interop tooling for KMP.
- Exposure to web stacks and how mobile and web share concepts and contracts.
Working Style
- Owner mindset: focused on product outcomes and long-term maintainability.
- Comfortable designing from high-level requirements, asking questions, and filling in technical details.
- Able to explain trade-offs and architecture choices clearly to non-mobile specialists.
- Pragmatic: knows when to ship a clean v1 and when to invest in abstraction or tooling.
Engagement Details
- Type: 1099 contractor.
- Location: Remote, strong overlap to US Central time; preference for engineers in US, Latam, or Canada.
- Current Engineering Environment:
- iOS: Swift, some Objective-C
- Android: Java
- Direction: Move to Kotlin Multiplatform for shared business logic (with separate native UIs or potentially shared UI).
- APIs: REST
- Backend: Laravel, PHP
- Cloud: AWS (light experience preferred)
- Commitment:
- Initial 3-6 month intensive build to deliver the new app to production.
- Ongoing, part-time or full-time engagement for maintenance and iterative enhancements (mutually agreed).
- Compensation: Competitive hourly or day rate, commensurate with experience and location.
If you are a senior mobile engineer who wants to own a critical app end-to-end, and you enjoy hard problems like offline-first, Bluetooth hardware, and payments, we’d love to hear from you.
Experience
- Mobile product development: 5 years (Required)
- Kotlin: 3 years (Preferred)
- Unit testing: 3 years (Required)
- AWS: 3 years (Required)
Work Location: Remote

