Build the mobile capture experience that turns real-world spaces into interactive 3D environments. The product uses phones, 360° cameras, and drones to capture physical environments for documentation, measurements, progress tracking, and collaboration.

Responsibilities:

  • Build ARCore-based workflows for scanning real-world environments and own core parts of Android capture and spatial tracking.
  • Collect and synchronize camera frames, IMU measurements, location updates, and ARCore poses for 3D reconstruction.
  • Handle tracking loss, relocalization, interruptions, motion blur, low light, and device variability.
  • Design capture guidance for non-technical users and optimize long capture sessions for performance, battery, and thermal constraints.
  • Manage media files, background processing, uploads, retries, and synchronization; debug device-specific issues and shape architecture for new capture modes.

Requirements:

  • Have shipped at least one ARCore-based product used by real users.
  • Strong production Android development experience and excellent Kotlin skills.
  • Deep understanding of ARCore sessions, tracking, camera poses and transforms, coordinate systems, anchors, camera intrinsics, and device orientation.
  • Experience collecting phone sensor data and synchronizing streams with different timestamps, sampling rates, latencies, and dropped samples.
  • Production experience with Camera2, ARCore Shared Camera API, MediaCodec, and hardware video encoding.
  • Strong understanding of concurrency, memory management, application lifecycle, and performance optimization.

Useful additional experience: visual-inertial odometry (VIO), SLAM, C++/Android NDK, ARCore Depth API, ARCore Recording & Playback API, and on-device ML—especially depth estimation or mesh generation without LiDAR.

Benefits: Substantial ownership and influence over Android architecture, product experience, and spatial capture technology as part of a small team.