Job details

Mobile Developer - React Native

  • Java
  • AWS
  • TypeScript
  • Android
  • PostgreSQL
  • React Native

Posted: 2 days ago

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.