Point-of-sale billing app for small shops in Sierra Leone - scan barcodes or tap product tiles, track sales, works offline. Built with Flutter + Firebase.
# Kaunta
Kaunta ("counter" in Krio) is a point-of-sale app for small shops — the kind
that sells rice by the cup, phone credit, soap, and a handful of branded
items with real barcodes mixed in with everything else that doesn't have
one. Most POS software assumes every product has a barcode. Most small
shops don't work that way, so this doesn't assume it either — you scan what
has a barcode and tap a quick-pick tile for what doesn't.
## Why I built this
I kept seeing the same thing at small provisions shops around Freetown: a
shopkeeper tallying the day's sales by hand in an exercise book, or trying
to make a mainstream POS app work when half the inventory has no barcode
and the connection drops mid-sale. I wanted to see if a phone app could
actually replace the notebook without pretending those two problems don't
exist.
## Tech stack
- Flutter (Material 3)
- Firebase Auth — email/password, one account per shop
- Cloud Firestore, with offline persistence on
- `mobile_scanner` for barcode scanning
- `provider` for state management
## Features
- Scan a barcode or tap a quick-pick tile to add an item to the cart
- "Custom item" fallback for one-off sales that don't need a permanent catalog entry
- Live running total with +/- quantity steppers
- Product catalog with add/edit/delete; barcode is optional, with a "scan to fill" button
- Sales history with itemized receipts
- Works offline — sales and product edits queue locally and sync once the connection is back
- Per-shop data isolation enforced by Firestore security rules, not just app-side filtering
## Setup
See SETUP.md for the full walkthrough — installing the Flutter
and Firebase tooling, scaffolding the `android`/`ios` folders, running
`flutterfire configure`, and deploying the security rules.
## Screenshots
_Not yet — will drop some in here once there's a build running on an actual
device._
## Known limitations / roadmap
- No receipt printing, just an on-screen itemized view
- No inventory or stock co …