Mobile systems are distributed systems whose nodes are intermittently connected, frequently restarted by the host OS, energy-constrained, and deployed on hardware the developer does not control. Despite this, much of the architectural discussion around mobile software still treats the network as reliable and the device as a stateless view onto a backend. This paper takes the opposite starting point. We model the mobile client as a first-class replica with its own durable state, and we treat the link to the backend as an unreliable, asynchronous channel that is unavailable for unbounded periods.
From that model we derive two properties of interest — reliability (correct behavior under failure, disconnection, and partial outage) and scalability (growth in users, data, device heterogeneity, and team size without proportional growth in cost or operational risk) — and we show that, contrary to the usual framing, the two goals largely reinforce each other when the architecture is built local-first. The contributions are: (1) a formal system and failure model for mobile distributed systems; (2) a precise treatment of the consistency guarantees achievable at the mobile tier and the conditions under which each holds; (3) a delta-based synchronization protocol with explicit idempotency, conflict-detection, and convergence semantics, presented as algorithms rather than prose; (4) a quantitative treatment of retry, backoff, and backpressure, including thundering-herd mitigation; (5) a layered reference architecture and a security threat model for local-first operation; and (6) a falsifiable evaluation framework, comprising metrics and a fault-injection methodology, illustrated through a worked deployment scenario spanning phones, tablets, and wearables.