Software Development

Building Software That Works When the Connection Doesn't

Building Software That Works When the Connection Doesn't

Most software assumes a reliable connection. Across much of East Africa that assumption is wrong, and designing around it properly changes how a system is built.

A lot of modern software is built on the quiet assumption that the internet is always there. Drop that assumption and a surprising amount has to change - not just error handling, but how data is stored, when it's considered saved, and what happens when two people edit the same record while both offline.

Local first, sync second

The core shift is that the device becomes the primary place data lives, and the server becomes something it reconciles with later. When a user saves something, it's genuinely saved - locally, immediately - whether or not there's a connection. Syncing happens in the background when it can.

This is how we built the school management system now running at Lubiri Secondary School. Campus connectivity isn't dependable, so teachers and librarians work against a local store that syncs upward when the connection returns. From the user's side, it simply always works.

Conflicts are a design decision, not a bug

Once multiple people can edit offline, conflicts are inevitable. The question is who wins, and that depends on the data. For a meter reading, the most recent entry usually wins. For an inventory count, you may need a human to look. Deciding these rules per data type during design is much cheaper than discovering them in production.

Show people the sync state

Users tolerate offline behaviour well when they can see it. Hiding it creates anxiety - people re-enter data because they aren't sure it saved. A clear indicator showing what's pending and what's synced removes almost all of that friction.

Test on realistic conditions

Fully offline, for an extended period
Intermittent connection that drops mid-request
Very slow connections, not just absent ones
Two devices editing the same record while offline
A device coming back online after days of changes

That last case is where most offline systems fail, and it only shows up if you deliberately test for it. Building this way takes more thought upfront, but for a lot of businesses here it's the difference between software people use and software they work around.

Keep reading

Cloud or On-Premise? A Practical Guide for Ugandan Businesses
Cloud & Infrastructure

Cloud or On-Premise? A Practical Guide for Ugandan Businesses

Cloud isn't automatically the right answer in a market where connectivity and power can be unpredictable. Here's how we help clients decide ...

Ssozi Matthew
12 Aug, 2026 · 6 min read
What AI Actually Solves for a Small Business (And What It Doesn't)
AI Development

What AI Actually Solves for a Small Business (And What It Doesn't)

AI is worth the investment when it removes repetitive work your team is already doing. It's a waste of money when it's added because it soun...

Ssozi Matthew
28 Jul, 2026 · 5 min read