Follow ad instructions to apply

Full-Stack Android Engineer — Self-Service Kiosk (MVP)

CCS    Remote • Full-time

Job Description

About the role

We're building an internal retail self-checkout system on Sunmi K2 kiosk hardware, and we need a versatile engineer to ship a working self-checkout MVP for use in our own stores.

The role spans the full stack: you'll own the product end to end, from the on-device Android app to the backend that powers it. Because the work touches every layer, we value breadth and sound judgment over deep specialization in any single one. This is a lean MVP, not a large team — you should be comfortable making pragmatic calls and keeping the stack simple.

What you'll do

  • Build and own the Android kiosk app (Kotlin) that runs the self-checkout flow: scan items, build the basket, take QR payment, print the receipt.
  • Integrate the Sunmi SDK to drive the built-in hardware — the 1D/2D barcode scanner and the thermal receipt printer.
  • Lock the device down: pin it to our app, hide system navigation, survive reboots, and require a PIN to exit.
  • Keep the app usable when the network is flaky — cache the catalogue and pricing on-device and hold transactions locally until they sync.
  • Stand up a lightweight backend and API for the product catalogue, pricing, and basket/transaction records, and sync it to the fleet.
  • Deploy and update on real hardware, pushing app updates over the air via Sunmi's remote device management platform.
  • Own the whole loop: design, build, test on-device, ship, iterate.

Must-have skills

  • Kotlin + Android SDK, with the ability to build clean, touch-first UIs (Jetpack Compose preferred).
  • Asynchronous Android work using Kotlin coroutines — you'll be juggling scanner input, printer calls, and network I/O without blocking the UI.
  • Local persistence (Room / SQLite or similar) for an offline-tolerant catalogue and transaction records.
  • Consuming REST APIs from the device.
  • Hands-on integration with a hardware or device SDK — printer, scanner, payment, or similar peripherals over Android services.
  • Genuinely full-stack: able to build a simple backend, API, and datastore end to end. Stack is open (Node, Kotlin/Ktor, Python, etc.) — we care that you can own it, not which framework you pick.
  • Comfortable operating with ambiguity and shipping a lean MVP.

Nice to have

  • Working knowledge of Android lock-task / kiosk mode, Android Enterprise, or MDM (the Sunmi-specific pieces are quick to learn on the job).
  • Prior POS, kiosk, or self-checkout experience — Sunmi devices a strong plus.
  • Experience with OTA update / fleet-management tooling.
  • Basic crash/error reporting or remote diagnostics, since the kiosks run unattended and you'll want to know when one breaks.

The hardware, for context

The kiosk is an Android-based Sunmi K2 with a built-in barcode scanner and thermal receipt printer. Because it's standard Android underneath, vendor-specific code is only needed for the peripherals — the rest is ordinary Android work. As an internal system, payment is limited to QR / scan-to-pay rather than full EMV, so there's no card-payment certification involved.
Apply: admin@ccs.mv