The problem
The round does not wait for a kitchen Wi-Fi connection
The work happens at the shop or the door, not at a desk: pick a customer, add brownies, take a return, collect GPay or cash. If the app waits for the network, the round stops.
They also needed a delivery summary they could share — what went out, what came back, and what was paid — plus a separate payment receipt. Not an invoice module. A slip they can generate on the phone.
What we built
A mobile sales app that keeps working offline
A React Native app with a FastAPI backend on AWS Lambda. The seller works in SQLite on the device. Every ten minutes — or on demand — the app pushes local changes and pulls what changed on the server.
01
Orders on the round
- Create and maintain products, customers (shop or individual) and orders on the device
- Line items with quantity and a price that can override the catalogue default
02
Returns and collections against the order
- Record returns without exceeding what was delivered
- Take payments as GPay, cash or other, with an optional transaction reference
03
Delivery summary and payment receipts
- One PDF per order: lines, returns and every payment for that order
- A separate payment receipt per collection, generated on demand to share by hand
04
Offline first, then sync
- SQLite is what the UI reads. MySQL is the source of truth after sync
- Push local creates, updates and deletes, then pull the delta. Last write wins
What changed
The round does not wait on coverage.
Work continues on the device
- Orders, returns and payments stay usable when the network drops
- Sync every ten minutes, or when the seller triggers it
One order, one delivery picture
- A delivery summary that shows what was delivered, returned and paid
- Payment receipts with a transaction reference, stored as versions on the server
Numbers on the phone
- Daily totals for sales, returns, net, collected and pending
- A monthly list and chart so the round is visible without opening a spreadsheet
What this unlocked
The seller can finish a shop visit on the phone — brownies out, returns in, payment taken — without waiting for a signal. The server catches up when the network does.
Need a mobile app that still works on the round?
Tell us how orders, deliveries and collections happen today. We'll tell you what should live on the device, and what should sync.
