BeeKios IDEN
Counter & grocery run

The corner shop next door, as quick as counting change.

Two Android apps for one small loop: the shop owner records sales, stock, and customer debts; the neighbour buys water, eggs, and gas without leaving home. Built for low-end phones, patchy signal, and a thumb already holding money.

Flutter Android 7 and up 19 MB per app No server in the demo version
BeeKios Warung cashier screen: item tiles, free-form items, total and pay button below
Shop side
BeeKios home for buyers: search, categories, and item list
Buyer side

One loop, two sides of the counter.

The catalogue buyers browse comes from the same cashier data. The owner never enters anything twice.

For the shop

BeeKios Warung

Replaces the notebook instead of adding work. Every design decision is judged on one thing: how many taps until the sale is done.

  • Cashier big item tiles, free-form items for fritters and loose cigarettes
  • Change giant digits, readable while counting cash
  • Debts replaces the notebook, with a polite WhatsApp reminder
  • Orders arrive from buyers, can be marked sold out and offered a substitute
  • Reports one screen, books close automatically at the end of the day
For the buyer

BeeKios

Opens on the item you came for, not a list of sellers. Buy your daily needs while still buying from the shop near your house.

  • Search rice, water, gas, straight from the home screen
  • Cart one cart, one delivery fee, free from Rp30,000
  • Weighing warned honestly that the total may shift a little
  • Tracking big, simple status, WhatsApp always in sight
  • Reorder one tap, because corner-shop shopping repeats a lot

Rules we keep, even when they're inconvenient.

A shop is already visually loud. So the interface is made a calm surface instead, and colour is used only to carry meaning.

01

Speed beats completeness

When the queue is long, a standard sale has to finish in under five seconds. Anything that is not the sale is a distraction.

02

Money is the largest element

Total, change, and remaining debt are found by the eye in a fraction of a second. Numbers are treated as the main visual element.

03

Offline is a normal state

Losing signal is not a failure. The status stays calm: saved on the phone, sent later. No red screen.

04

There is always a way back

A sale already tapped can be undone. An order already declined can be restored before word goes out.

05

Shop language, not accountant language

Money in today, not revenue. Customer debts, not accounts receivable. Sold out, not zero on-hand inventory.

06

Usable in the first minute

The first sale can be recorded without filling in a catalogue first. The catalogue grows along the way, it is not an entry requirement.

Honey yellowPrimary actions and brand
RedDebts and sold-out items only
GreenPaid and done
Pale yellowWaiting and offline

Screenshots, not decoration.

Everything shown on this page is taken from the running apps, with the same sample data used during testing.

Shop side
Buyer side
549
automated tests, all passing
26
UX review findings, 25 already fixed
4
personas that guide decisions
0
issues left in the linter

How far this has come.

The current version is an installable, playable mock-up: no server, no internet, and its data resets every time an app is opened. Stated plainly so nobody gets the wrong idea.

Already working

  • Two Android apps that install and can be used end to end
  • Real accounts, profiles, and photos through the shared account and media services
  • A shop is modelled as an organisation, keepers are invited by email
  • Owner and keeper roles with access limits
  • Books close automatically at the end of the day, with a seven-day archive

Not yet, and that is deliberate

  • Business data has no server yet, so it does not survive between sessions
  • QRIS and bank transfer are display only, no money moves
  • Buyer orders do not cross over to the shop app yet
  • Notifications do not ring while the app is closed
  • Sign-in by WhatsApp number is waiting on the account service

Next stage

A backend for business data, then real payments.

The contracts are already mapped: catalogue, stock, orders, debts, daily reports, and notifications. Everything now living in memory already has a clear shape once it moves to a server.

Five private repos on GitHub, all running with a clean linter:

bee-kios-warungcashier app bee-kios-pembelishopping app bee-kios-uidesign system bee-kios-apishared-services client bee-kios-docsbrief and contracts