All case studies
Platform capabilityPlatform engineering · Distributed devices

Managing application updates across distributed Android devices

A version-aware update workflow for APK and runtime delivery, device acknowledgements and deployment visibility.

My role
Full-stack Engineer
Period
2026

PROJECT OVERVIEW

Distributed clinical devices need a dependable way to receive the right application and runtime versions without relying on ad-hoc file sharing or continuous connectivity.

The problem

Manual APK distribution makes it difficult to know which device received an update, which version is running and where follow-up is needed. Country-specific policies and offline devices add further complexity.

My responsibility

I contributed to the design and implementation of update-management services, version policies, acknowledgement events and administrative visibility. Remote device control was intentionally outside the scope.

REAL-WORLD CONSTRAINTS

Devices may remain offline for extended periods
Application and runtime versions can change independently
Deployment policies vary by country or programme
Every update state needs a traceable audit trail

SOLUTION & CONTRIBUTION

The workflow separates update publication, eligibility, delivery and device acknowledgement. Administrators can reason about target versions and outstanding devices while clients safely reconcile when they return online.

  1. 01Modelled application, runtime and policy versions explicitly.
  2. 02Implemented device acknowledgement and update-status events.
  3. 03Supported APK and over-the-air update paths.
  4. 04Added visibility for current, pending and behind devices.
  5. 05Designed follow-up workflows for devices that remain offline.

SANITISED ARCHITECTURE

Release artefacts
Policy and update service
Offline-capable devices
Acknowledgement and audit events

Certain implementation details and screens are intentionally anonymised to protect organisational and user data.

Engineering challenge

An update is not complete when a file is uploaded or downloaded. The system has to model intent, eligibility, receipt, installation and acknowledgement separately so operators can understand the real fleet state.

Observable outcomes

  • A traceable update lifecycle
  • Clear separation of application and runtime versions
  • Better visibility into devices requiring follow-up
  • A safer foundation for distributed release operations

Technology used

AndroidFlutterTypeScriptNode.jsPostgreSQLREST APIs

Next case study

Daredzidzo