Android Systems Engineer (6 Months Contract)
TLDR
Own the edge device systems layer, including USB hardware I/O and custom Android ROM development, ensuring reliability and security in commercial environments.
We are building a hardware-software product that deploys Android-based edge devices in commercial environments.
The device operates in a real-time, always-on mode and must perform reliably in production settings, with zero tolerance for failure during active operation.
Most of the surrounding software stack — cloud backend, web dashboards, and mobile applications — is developed with the assistance of AI tooling under close human direction. The edge device hardware layer is the one part of the system where physical iteration on real hardware is required.
Role Overview
You will own the edge device systems layer end-to-end, including:
- USB hardware I/O
- Custom Android (AOSP) ROM
- Device security
- Field testing and deployment
You will also review and guide Kotlin application code (including AI-generated output) to ensure correctness, safety, and alignment with system constraints.
Responsibilities
- Design, implement, and maintain USB pipelines (Host & Gadget), ensuring strict latency and timing requirements
- Test, validate, and debug USB and hardware compatibility issues in real-world environments
- Build and maintain a custom Android (AOSP) ROM with system-level modifications, including:
- Kiosk mode and restricted production environments
- Auto-start, watchdog services, and cellular connectivity (APN/modem)
- OTA updates with staged rollout and rollback
- SIM lock and device control mechanisms
- Implement and enforce device security, including:
- Secure boot, locked bootloader, and full-disk encryption
- Hardware-backed attestation (Keystore / TEE)
- Certificate pinning, mTLS, and signed payload verification
- Disabling ADB and debug access in production
- Define and execute device provisioning workflows, including field testing and hardware validation
- Develop hardware specifications and provisioning documentation
- Review Kotlin code (including AI-generated output) for correctness, safety, and architectural compliance
- Enforce clear separation between hardware I/O and application logic
Requirements
- Hands-on experience with Android USB Host mode (UsbManager, HID I/O) and/or USB Gadget mode (ConfigFS, /dev/hidg0)
- Experience building and modifying custom Android AOSP ROMs from source
- Experience implementing Android kiosk mode
- Strong Kotlin development skills
- Experience with Android security features (Keystore, Trusted Execution Environment, hardware-backed keys)
- Hands-on experience working with physical devices, including flashing, testing, and debugging
- Experience with embedded or IoT Android devices in production environments is preferred
- Understanding of the Linux USB subsystem is preferred
- Experience in commercial or field deployments (e.g. retail, payments, kiosk systems) is a plus
- Nice to have: experience with POS/payment devices, cellular modem and SIM management, familiarity with backend systems (Node.js), or exposure to Kafka/Flink
This role is suited for someone who enjoys working at the intersection of software and hardware — building, testing, and debugging systems on real devices in real-world environments.
If this aligns with how you like to work, we would like to hear from you.
Rapsodo builds innovative sports technology products that leverage computer vision and machine learning to provide performance analytics for athletes globally. Catering to everyone from aspiring youth athletes to professional teams, Rapsodo's integrated systems of hardware and software empower users to analyze and improve their game with precision and convenience.