Stori — a complete online store for every shop, on its own accounts
How I built Stori: one codebase that ships a full online store — five templates, an Arabic admin panel, Sham Cash payments — to each shop, on the shop's own GitHub, Cloudflare and Supabase accounts.


The goal
Local shops, supermarkets first, want to sell online under their own name, in Arabic, with the payments their customers already use. A generic store builder doesn't fit how a supermarket works — prices by weight, delivery slots, cash on delivery — and the owner wants the store, the domain and the customers' data to be theirs, not rented.
What I built
- One codebase, one deployment per client: each store runs on the client's own GitHub, Cloudflare and Supabase accounts and domain.
- Five storefront templates that differ in structure, each in six palettes, Arabic first with English beside it.
- An Arabic admin panel: Excel import, products sold by weight, delivery zones and slots, staff permissions with two-step sign-in, and profit reports.
- Sham Cash payments that are re-checked with the provider before an order counts as paid, plus cash on delivery.
- A platform at stori.ghawi.app: the showcase, a live demo store, and an owner panel that ships updates to every store and watches their health.
Where it is now
Stori is live at stori.ghawi.app, with a demo supermarket store anyone can browse. The first client stores are next, and every new feature lands in all of them at once.
Built with
- Cloudflare Workers
- Hono
- React
- Supabase Postgres
- D1
- TypeScript
Want something like this?
Tell me what you're building. You'll get a scope, a price and a timeline within a day.
More work
- GH Store — one store on the web, in a Mini App and in a botHow I built and run GH Store: one catalogue, one wallet and one order history across a website, a Telegram Mini App and a bot, with payments that can't charge twice.
- A complete store inside one Telegram chatA client's Telegram store bot: catalogue, wallet top-ups, instant delivery from several providers, warranty and a full admin panel, on Cloudflare Workers.
- A bilingual game top-up storeA web store for game top-ups and gift cards: supplier catalogue sync, automatic fulfilment, ShamCash wallet recharge and invoices, in Arabic and English.