The problem
The owner ran the business out of Google Sheets and was not going to stop. Any system that demanded he abandon Sheets was going to be abandoned instead.
Retail ERP + AI agent
One shop. Everything connected.
A full POS and inventory system running a live shop, with a WhatsApp agent on top.

The owner ran the business out of Google Sheets and was not going to stop. Any system that demanded he abandon Sheets was going to be abandoned instead.
React frontend, Node.js backend, SQLite, and bidirectional Google Sheets sync so his existing workflow keeps working. Full Arabic RTL admin dashboard in Tailwind. Thermal receipt printing through browser CSS @page rules instead of a native driver. 'Aya', a WhatsApp AI agent with a sub-agent architecture in n8n, answers stock and product questions off the Sheets data.
Live at mahar.gentar.cloud, backend on PM2. Survived a VPS snapshot rollback with invoice data recovered. A mass-deletion bug, where Sheets sync treated the sheet as the absolute source of truth, was fixed with an action-aware webhook pattern that separates upsert from delete.
