sales management for fairs
Balcão
Offline-first web app for recording sales, orders, and payments at fairs and events.
The problem
I built Balcão to make it easier to track sales, orders, and payments at fairs and events, especially where the internet connection is unreliable.
What it does
- Record product sales during fairs and events.
- Add products to a cart and close orders, organized by tab.
- Record payments and browse the sales history.
- Follow reports and keep selling without an internet connection.
The technical decision
I made it a mobile-first, offline-first PWA. Data is stored on the device with IndexedDB, and syncing is controlled, so the app keeps working without a connection.
A challenge
In the development version, I handled a sync risk: old data coming back from Firestore could overwrite local changes. It now tracks pending changes, resolves conflicts, and uses idempotent operations that preserve local edits.
The result
It was used at a real fair to record sales, follow orders, and check reports. It remains available as a working project.