$110K - 140K a year
Develop and maintain offline-first React Native apps with native Kotlin modules, real-time video streaming, and resilient networking for maritime environments.
3+ years mobile app development including 2+ years React Native, strong Kotlin and Android skills, offline-first architecture experience, real-time video streaming protocols, networking expertise, and unit testing with Jest.
Role overview We’re hiring a React Native/React engineer with deep, production-scale RN experience who can also write native Kotlin to build and maintain custom Android modules when required. You’ll maintain offline-first apps used in challenging environments (at sea) where connectivity is intermittent and local real-time video and device control must remain resilient. What you’ll work on 1 - An app that gives mariners control of a SmartMast unit! A LAN/offline first mobile app that connects to and controls a nearby SmartMast unit. It maintains persistent, low-latency, full-duplex communication via WebSockets and ROS 2, while also syncing with an AWS-hosted backend API. Video from the PTZ camera streams over RTSP/SRTP using TCP or UDP. Because the most powerful features run on the local network, strong knowledge of networking and device discovery (e.g., mDNS/zeroconf, addressing, NAT/firewalls, QoS) is also essential. Tech requirements: • React Native • Expo • Javascript • TypeScript • SQLite • Web Sockets • ROS2 Protocol • Video streaming libraries • RTSP/SRTP • TCP/UDP • Network discovery (mDNS) • Adaptive offline first behavior • Unit testing with Jest and experience with automated end-to-end test workflows 2 - An app to help mariners report illegal activity at sea A multilingual mobile app that enables mariners to document and report illegal activity at sea by securely uploading photos and videos, even offline. A modular, accessible UI delivers a smooth experience, while maps and precise geolocation power on-device validation of each report. The app syncs with an AWS-hosted API (monorepo; Serverless Framework; TypeScript; PostgreSQL) and follows an offline-first strategy to keep devices updated in low-connectivity environments. When needed, native Kotlin modules enable integrations with local IoT devices. This project also has a web admin page for user management and other integrations. Tech Requirements: • React Native • React • Expo • TypeScript • Javascript • SQLite • Unit testing with Jest and an automated end-to-end test experience • Adaptive offline first behavior • Network discovery (mDNS) • AWS • Serverless Framework • HTML • CSS • Familiarity with Geolocation-based algorithms and data formats Responsibilities • Create beautiful, easy-to-use, atomic components. Make them adaptable for internationalization to allow the app to scale as the number of features and languages the app supports grows. • End-to-end ownership: feature delivery, performance, reliability, and release operations for both apps. • Offline-first architecture: model data for local-first UX (SQLite/Room or similar), implement sync, conflict resolution, and schema migrations. • Streaming & media: implement and optimize live video ingest/playback, jitter buffers, reconnection, Adaptive Bitrate Streaming (ABR), and Quality of Service (QoS) telemetry. • Kotlin native modules: design and maintain native modules with Kotlin when necessary. • Harsh-network engineering: handle satellite/maritime and field conditions such as high latency, packet loss, power/thermal constraints, and others. • Security by design: SRTP key management, TLS/DTLS, cert pinning, Android Keystore, and privacy-preserving telemetry. • Tooling & quality: tests (unit/integration), CI/CD, profiling, etc. Minimum Qualifications • Bachelor’s degree in Computer Science, Electrical Engineering, or related field. • Proven experience in hardware and software engineering, with a strong understanding of product lifecycle management. • Familiarity with smart technologies and solutions, particularly in analyzing and supporting deployed systems. • Excellent problem-solving skills and the ability to work collaboratively in a fast-paced environment with people across the globe in various time zones. • Strong communication skills, both written and verbal, to effectively interact with contractors and stakeholders. • 3+ years building mobile apps, 2+ years focused on React Native at scale (navigation, animations, perfect memory/threading management). • Strong Android/Kotlin skills with production RN or fully native apps deployed to the Google Play Store. • Hands-on with offline-first architectures and local databases (SQLite + ORM/query builders like Kysely, Room, or equivalent). • Real-time video experience on mobile: • Protocols: RTSP, SRTP; transports: TCP/UDP. • Stacks: ExoPlayer, ffmpeg-kit, etc. • Concepts: RTP timing, packetization, jitter buffering, keyframe cadence, reconnect/backoff, and Adaptive Bitrate Streaming (ABR). • Networking: understanding of sockets, firewalls, mDNS/zeroconf, WebSockets, QoS metrics (latency, jitter, loss, stall rate). • Proven testing practice with Jest • Comfortable migrating apps from earlier Expo versions to the latest Expo/React Native/Android releases, config plugins, and bare when needed. Nice to Have • ROS2 ecosystem familiarity: ROS2 topics, services, commands, etc. • PTZ protocols (e.g., Axis) and camera vendor SDKs. • Map rendering, offline tile management, and geolocation-based strategies such as geofencing. • AWS Serverless (API Gateway, Lambda, Cognito, S3, CloudWatch), monorepos. • Automated E2E testing experience, observability (Crashlytics, Grafana), feature flagging, A/B testing. • Comfortable writing automated end-to-end system checks for unit testing during the factory acceptance process. Benefits • Competitive salary • Flexible work hours and the option for remote work. • Opportunities for professional development and continued education.
This job posting was last updated on 9/17/2025