About the company
Build the mobile capture experience that turns real-world spaces into interactive 3D environments. We help teams capture physical environments with phones, 360° cameras, and drones, then use the resulting 3D spaces for documentation, measurements, progress tracking, and collaboration. Initially focused on construction and other workflows that need a reliable spatial record of the real world.
Responsibilities
- Build ARCore-based capture workflows for scanning real-world environments
- Work directly with ARCore sessions, tracking states, camera poses, anchors, and coordinate systems
- Collect and time-align camera frames, IMU measurements, GPS / location updates, and ARCore poses for the 3D reconstruction pipeline
- Handle tracking loss, relocalization, interruptions, motion blur, low light, and device variability
- Design capture guidance that helps non-technical users produce reliable spatial data
- Keep long capture sessions efficient across CPU, GPU, memory, battery, and thermal constraints
- Manage large media files, background processing, uploads, retries, and synchronization
- Debug device-specific behavior and shape an architecture that supports new capture modes
Requirements
- Hands-on experience building and shipping at least one ARCore-based AR product used by real users
- Strong production Android development experience and excellent Kotlin skills
- Deep understanding of the ARCore session lifecycle, tracking behavior, and real-world failure cases
- Practical experience with camera poses and transforms, world and local coordinate systems, anchors, camera intrinsics, and device orientation
- Hands-on experience collecting phone sensor data and synchronizing streams with different timestamp domains, 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
- Ability to investigate issues across Android devices and chipsets
Conditions
- Remote global
- Full-time
- Small team with substantial ownership and influence over the Android architecture, product experience, and spatial capture technology
Relevant additional experience
- Visual-inertial odometry (VIO) or SLAM
- Native C++ / Android NDK integration
- ARCore Depth API
- ARCore Recording & Playback API for reproducible tracking tests
- On-device ML: integrating and optimizing neural networks, especially depth estimation or mesh generation without LiDAR