~/portfolio
ROSE GATE: OFFLINE-FIRST POS(7) — Point-of-sale system for a wholesale rose business in Saudi Arabia, with sales reps in several cities. Keeps selling when the internet drops; runs on tablets as a web app and an Android app.
($ cd ~/projects && ./rose-gate)

NAME

Rose Gate: Offline-First POS — Point-of-sale system for a wholesale rose business in Saudi Arabia, with sales reps in several cities. Keeps selling when the internet drops; runs on tablets as a web app and an Android app.

SYNOPSIS

Point-of-sale system for a wholesale rose business in Saudi Arabia, with sales reps in several cities. Keeps selling when the internet drops; runs on tablets as a web app and an Android app.

DESCRIPTION

Client: Wholesale rose business, Saudi Arabia · Role: Sole developer, AI-assisted · Period: Apr – May 2026 · Status: Deployed June 2026

Sales reps sell from tablets with barcode scanning, product search, split cash/card payments and discounts. The accountant manages products, customers, orders, reports and users, and closes settlement cycles for each rep. Full Arabic right-to-left interface.

TECH STACK

Laravel 13 PHP 8.3 Alpine.js Tailwind CSS 4 PWA IndexedDB Capacitor Vite

ARCHITECTURE

Orders are saved on the tablet first and sent to the server when a connection is available. Each order carries a unique ID, so a retry never creates a duplicate sale. Failed orders are flagged and can be retried manually.

BUGS / CHALLENGES

Reps work in different cities with unreliable connections, so the POS had to work fully offline and sync later without losing or duplicating sales. A catalog of over 4,600 products had to be available on the tablet without a connection.

EXIT STATUS / OUTCOMES

Deployed in June 2026 for an accountant and two sales reps, with 4,600+ products in the catalog. Available as an installable web app and an Android app.

SEE ALSO