Local-Only: Reimagining Mobile App Architecture

By Michael Raber
First posted: May 19, 2025

Years ago, I couldn't shake the idea of building website apps that would run locally on my computer. I wanted complete control over my data without dealing with the complexity or steep cloud hosting costs.

As my career shifted from Web to Mobile, I observed how Mobile Apps have essentially inherited the same Cloud-Based architecture as websites—using the cloud to provide data storage, synchronization, and backup at the expense of user control over their data. Unlike websites running in constrained browser sandboxes at the time, mobile phones offered a stable platform reminiscent of a desktop computer in the palm of your hand, but most mobile apps still opt for Cloud-Based storage.

Over the past five years, I have considered different categories of mobile apps, such as bookmarks, note-taking, simple lists, and messaging. I realized how easily these could run locally on your phone without needing the cloud, except for collaboration and multi-device access.

My interest in finding like-minded people to discuss local app development led me to several articles discussing Local-First principles, where data is stored locally on the device and the cloud is used for synchronization and collaboration across devices.

Conflict-free Replicated Data Types (CRDTs) are a frequently highlighted technique in Local-First implementations. These enable edits on devices without internet connectivity and automatically merge independent changes when devices reconnect. While CRDTs are impressive and powerful, implementing them properly adds a layer of complexity to local apps that, in my experience, might be overkill for many straightforward use cases.

After questioning whether the CRDT complexity typically associated with Local-First was always necessary, I had my breakthrough realization. What if I focused instead on Local-Only with peer-to-peer (P2P) connectivity for multi-device user collaboration? Local-First operates as multiple peers, maintaining a shared, evolving state that syncs and resolves conflicts over time. In contrast, Local-Only + P2P respects each device as having its own authoritative data store, while facilitating real-time, coordinated editing sessions where only one device makes changes at a time. This maintains the integrity of each device's data without requiring the complexity of merges or conflict resolution.

This approach begins with a fundamental rethinking of mobile apps. Let me clarify what I mean by "Local-Only apps" in this context: mobile applications that store all personal data directly on the device, can function perfectly without an internet connection, and don't rely on cloud infrastructure for their core functionality. This approach puts complete control back in the hands of users while dramatically simplifying the development architecture.

The specific approach I'm advocating centers around what I call the "Local-Only Framework" — three core principles that work together to create a radically simpler app architecture:

  • Local-Only: All personal data is stored on the device with complete user ownership. No internet connectivity or user accounts required for core functionality.
  • Peer-to-Peer: Direct device communication without servers. Local-Only doesn't mean isolated — just cloud-free.
  • Device-as-Authority: Your device is the single source of truth. Others can access or edit data securely over peer-to-peer without relying on a central service.

This three-pillar approach combines local apps' speed and privacy with the flexibility and collaboration benefits typically expected from cloud platforms.

The payoff? A simpler, faster, more sustainable path to building. For developers, this Local-Only approach means you can stop being an infrastructure manager and start being a product builder again. You'll ship faster with fewer moving parts, eliminate costly backend upkeep, and avoid the infrastructure debt that inevitably slows down development as your user base grows.

I purchased the domain LocalApps.com some time ago, with the vision of creating applications that don't depend on the cloud for core functionality. That vision has evolved from websites to mobile apps, but the core principle remains: giving users control of their data. Today, I'm launching the site to share and discuss my approach to Local-Only + P2P with real-time coordinated editing.

I invite developers, designers, and anyone interested in building simpler, more private, and more resilient mobile apps to join the conversation at LocalApps.com. Let's reimagine mobile development without the unnecessary cloud complexity.