Engineering 6 min read
Building business software that works when the internet doesn't
How we design apps for patchy connections in Ghana: offline receipts, append-only ledgers and installable PWAs that sync when the network returns.

Most software is designed in an office with fibre and tested on a laptop. Then it meets a school bursar collecting fees at 7am on a connection that drops every few minutes, or a shop counter where mobile data runs out mid-afternoon. If the app stops when the network does, staff go back to paper — and the system you paid for becomes the thing they type up later.
Offline-first means designing for the disconnected case from the start, not adding a spinner and hoping. Here is how we approach it.
Decide what must work offline
Not everything needs to. Reports and admin screens can wait for a connection. The actions that happen at a counter or a gate — taking a payment, recording a sale, marking attendance — must not. We list those actions first and design the data model around them.
Make offline records authoritative
The hard problem isn't storing data locally; it's making what you issue offline valid. On a school billing project, each device is given a block of receipt numbers in advance. A receipt printed with no connection is still a real receipt, and numbering stays unbroken when everything syncs.
Never edit money in place
When two devices sync, edits collide. Append-only records avoid most of that pain: charges, payments and allocations are only ever added, and corrections are new adjustment entries. The history is complete, conflicts are rare, and an auditor can follow every cedi.
- Store money as whole pesewas (integers), never decimals, so nothing is lost to rounding.
- Give every record an ID generated on the device, so it can be created offline without a server round trip.
- Write the audit log in the database, not in app code, so it can't be skipped.
Install it like an app
Progressive web apps install from the browser, cache themselves for offline use and update quietly. There's no app store review and nothing for staff to download from a link on WhatsApp. For most internal tools, a PWA is the right choice in Ghana's mobile-first market.
Show the sync state honestly
Users trust offline apps when they can see what's happening. A small, always-visible indicator — saved on this device, syncing, synced — prevents the double entries that happen when someone isn't sure a payment went through.
If the app stops when the network does, staff go back to paper.
Offline-first takes more thought up front, but it is the difference between software people tolerate and software they rely on. If your team is working around the connection rather than with your system, we'd be glad to take a look.

