Skip to main content
The Cloud Is Just Someone Else’s Computer – Time to Go Local-First!
Backend Architecture

The Cloud Is Just Someone Else’s Computer – Time to Go Local-First!

//TIME: 7 min read//AUTH: Richard Soutar
local-firstcrdtdesign-patternweb-devdevopsarchitecture

You know that moment when your internet hiccups and Google Docs freezes like a deer in headlights?
Yeah, me too. That tiny “Trying to connect…” banner is the universe reminding us of a brutal truth.

There is no cloud. It’s just someone else’s computer. And right now, that someone else is holding your data hostage.

But what if we stopped renting our data and actually owned it again?

Enter local-first software – the rebellious architecture that says “My laptop is the source of truth, thank you very much.”

Buckle up. This isn’t just another offline cache. It’s a full client-server role reversal, powered by math wizardry (CRDTs), and it’s quietly about to eat the cloud’s lunch.

1. You Don’t Own Your Cloud Data – You’re Just a Very Polite Tenant

Remember when SaaS companies could yeet your account because you said a naughty word in 2017?
Or when a startup you loved got acquired and shut down overnight, taking your project history with it?

That’s the Faustian bargain we all signed: convenience in exchange for control. The local-first movement looked at that deal and said “lol no”.

Their seven ideals (straight from the 2019 Ink & Switch manifesto) are basically a love letter to users:

  • No spinners ✓
  • Works on planes ✓
  • Real-time collab ✓
  • Your data outlives the company ✓
  • Actually private ✓
  • You can export or nuke it whenever ✓

It’s like the Bill of Rights, but for your todo list.

2. Local-First Isn’t “Better Offline Mode” – It’s an Architectural Coup

Cloud apps:
Server = Master Your device = peasant with a stale cache

Local-first apps:
Your device = Master Server = helpful butler that syncs when it feels like it

This flip changes everything. Speed? Instant, because you’re reading/writing locally. Offline? Built-in, not a hack. Privacy? Encrypt on device before the butler even sees it.

3. The Magic Sauce: CRDTs (Math That Prevents Collaboration Meltdowns)

“Cool, but if everyone has their own source of truth, how do we not end up with 17 conflicting versions of the same doc?”

Behold: Conflict-Free Replicated Data Types – the nerdiest superheroes alive.

CRDTs are data structures that let multiple people edit the same thing simultaneously, offline, and then mathematically guarantee everything merges perfectly. No central arbiter required.

Think Git merge conflicts, but the computer just… handles it. Like a responsible adult.

Real quote from researchers:
“Conflicts are not as significant a problem as we feared.”

Translation: humans naturally don’t fight over the exact same pixel/character that often, and when they do, CRDTs sort it out with surgical precision.

How Dexie.js Works> FIG: How Dexie.js Works

4. Bonus: Your Frontend Code Gets Drastically Simpler

In cloud-land you juggle:

  • Loading states
  • Error states
  • Optimistic updates
  • Cache invalidation (one of the two hard problems, allegedly)

In local-first land:

// Literally all you need
const tasks = liveQuery(() => db.tasks.toArray());

Boom. Your UI subscribes to the local database. Change comes from user input or background sync → UI updates instantly. No Redux. No TanStack Query ceremony. No tears.

I’ve seen grown React developers cry tears of joy.

5. Yes, There Are Tradeoffs (We’re Adults Here)

  • Sync is eventually consistent → not for stock exchanges
  • Big binary blobs (4K video editing) still belong in the cloud
  • Schema migrations on 10,000 offline devices = spicy
  • Tooling is still catching up (but getting really good, really fast)

But for notes, project management, design tools, CRMs, wikis, literally 90% of SaaS? This is the future.

Conclusion: Stop Renting Your Data

The tech is ready. Browsers have gigabytes of fast storage (OPFS), WebAssembly is basically native speed, and CRDT libraries like Automerge, Yjs, and Electric SQL are battle-tested.

Next time you’re designing an app, ask yourself:

“What if my users actually owned their data – and it still felt like magic?”

Because that future isn’t coming.

It’s already here. We’re just waiting for the rest of the industry to move out of the landlord’s basement.

P.S. Yes, this post was written 100% offline in a local-first editor. The irony is delicious.

Now go build something that works on a submarine. Your users will thank you.

Further reading:

So stop waiting for permission. Here’s your starter pack:

// RELATED_ARCHIVES