Selected case

DOCUframe MobileAccess

I built DOCUframe’s configurable Android runtime and resilient synchronization for enterprise data and files.

Role
Lead Android Engineer / primary Android contributor
Platforms
Android · Java · Kotlin · REST API
DOCUframe MobileAccess product mark

The problem

DOCUframe customers needed configurable mobile screens and workflows while the Android client moved large enterprise datasets and files across unreliable connections.

Constraints

  • Customers configured most mobile screens and business workflows through the server-driven runtime.
  • Offline operation and local persistence had to support field use.
  • Interrupted transfers, conflicts, and established DMS/CRM workflows had to remain supported.

My decisions

  • Build the server-driven Android runtime that let customers configure mobile screens and workflows.
  • Implement bidirectional synchronization for large enterprise datasets and files with incremental or batched transfers.
  • Add offline persistence, conflict handling, retry/resume, and recovery after interrupted connections.

Trade-offs

  • The Android client combined a server-driven runtime for customer-configured screens and workflows with bidirectional synchronization for enterprise data and files.

Shipped work

  • The Android runtime supported customer-configured mobile screens and business workflows.
  • Bidirectional sync handled large datasets and files with offline, batched, conflict-aware, retryable transfers.

Result

I delivered configurable enterprise workflows and recoverable data and file transfer in the DOCUframe Android client.

I built the Android runtime that let DOCUframe customers configure much of their own mobile surface on top of the enterprise DMS/CRM platform. The mobile contract was therefore more than a fixed set of screens: workflows and data had to remain compatible with customer configuration.

I implemented bidirectional synchronization for large datasets and files, including offline persistence, incremental batches, conflict handling, retry/resume, and recovery after interrupted connections. The Android client used the established server-driven DMS/CRM workflow alongside those transfer capabilities.