HomeResearch
BlogCareersContact
Sign in
All articles

Engineering

Why we engineer offline-first

Connectivity is good and getting better, but systems that stop when the network does aren't finished. Here's how we design for the dropped connection.

LinkFy Connect Engineering · 18 Jun 2026 · 1 min read

A sale that fails because the Wi-Fi blinked is a lost sale. A registration form that loses its data on a flaky connection is a user who doesn't come back. We've learned to treat "the network is unavailable" as a normal state our systems have to handle well, not an error to apologise for.

The principles we build on

  • Local first, then sync. Writes land in a local store immediately, so the user is never waiting on a round trip to carry on.
  • Every change is an event. Recording what happened ("sold 2 × item 431") rather than overwriting state ("stock = 18") makes merging after a disconnect predictable.
  • Conflicts are designed, not discovered. For each kind of data we decide in advance who wins, whether that's the last write, the server or the human, and we test it.
  • Show the truth. Interfaces say clearly what's saved locally, what's synced and what's pending, so nobody has to guess.

Where it shows up in our work

Hilla Business keeps the till running through outages and reconciles stock and receipts when the connection returns. KHORONOS keeps detecting and recording on-site even if its uplink drops, and sends its event backlog afterwards. The web platforms we build for clients use the same patterns wherever a lost connection would cost the user something.

Designing for the bad connection makes the system better on the good one too.

Offline-first takes more engineering up front. We think it's what a finished system looks like.