utsav@homelab: ~/projects/zebra-pos, bash
[home] [× back to board]
utsav@homelab:~$ cd ~/projects/zebra-pos

ZEBRA TC53 CASHIER

> U2 · GPU, HANDHELD COMPANION TO THE MAIN POS

utsav@homelab:~/projects/zebra-pos$ cat README.md

Built specifically for the Zebra TC53's own dedicated hardware barcode scanner, deliberately no camera scanning anywhere in this app. Exclusive to Khatiwada Store, my family's shop, reachable privately over Tailscale so a staff member can ring up a sale anywhere in the shop instead of being tied to the counter. Proof that if a customer's own hardware has a real barcode scanner, I have a real solution built for it, not just a generic camera fallback.

utsav@homelab:~/projects/zebra-pos$ ./features --list
▸ Zebra's own DataWedge keyboard wedge scanning, no camera anywhere in the app ▸ Works with standard EANs and the shop's own printed alphanumeric shelf labels ▸ Runs inside Zebra's Enterprise Browser kiosk shell, with a native EB.Barcode scan path alongside DataWedge ▸ Save and resume a cart mid transaction, browser local today, server side named carts planned ▸ Shares the exact same live database as the main Nepal Grocery POS, one source of truth ▸ Fonepay QR payment step, static QR today, dynamic per sale QR planned once bank API access lands
utsav@homelab:~/projects/zebra-pos$ docker inspect zebra-pos --format stack
HARDWAREZebra TC53, Snapdragon 6490, 6 inch display, IntelliFocus scan engine, no camera used INPUTDataWedge keyboard wedge, plus Enterprise Browser's native EB.Barcode API ACCESSPrivate, Tailscale only, exclusive to Khatiwada Store, zero login by design PAYMENTSStatic Fonepay QR today, dynamic per sale QR blocked on bank API access DATASame store.db and sales.db as the main Nepal Grocery POS, one source of truth STATUSDeployed and reachable over Tailscale, in active testing, not yet the shop's primary till
utsav@homelab:~/projects/zebra-pos$ git log --reverse --milestones
2026-07-12Project kickoff, proved the DataWedge keyboard wedge concept informally at Bunnings before buying anything 2026-07-13Backend copied from the proven Nepal Grocery POS, Zebra optimized cashier UI and payment step built 2026-07-14Zebra TC53 purchased secondhand through Cash Converters Australia, on device fixes shipped the same day 2026-07-15Offline first PWA (app shell, catalog mirror, sales outbox) and the Android back button handling both landed after several real, on device bug rounds 2026-07-16Native Enterprise Browser scan API, EB.Barcode, added alongside DataWedge, plus admin shelf label barcode printing 2026-07-23A separate SaaS pilot demo variant of this same codebase added, signed token SSO handoff, sellable as a Zebra handheld option; the real Khatiwada Store deployment stays zero auth, Tailscale is the trust boundary 2026-07-27 to 2026-08-19Shared admin panel kept in step with the main POS: palette redesigns landing on a bright food-app theme, a self-hosted category icon system, a full Category taxonomy overhaul with bulk assignment, and a mobile polish pass. The handheld cashier itself, purpose-built for the TC53, stays untouched throughout ONGOINGIn active testing on the real device inside Enterprise Browser, not yet cut over as the shop's primary till
utsav@homelab:~/projects/zebra-pos$