Qortex — a retail platform for small merchants in the UAE · Retail platform · UAE
During COVID, UAE corner shops started taking orders by WhatsApp voice note. The habit stuck. For Qortex, we built the engine that turns those messy voice notes into clean, structured orders.

This engine is what makes that habit workable at scale. For Qortex, a retail platform for small merchants, we built the voice-to-order piece: a free-form WhatsApp voice note becomes a structured order, matched to the right product in the merchant's catalogue — even when the words are ambiguous and the messages arrive in a rush.
When COVID hit the UAE, customers started ordering from their local bakkala (the neighbourhood grocery) by WhatsApp voice note instead of walking in. When restrictions lifted, the behaviour stayed — voice notes had quietly become the default way to order, and the volume never went back down.
Each order arrives as free-form speech — "send me two cases of water and a box of tea" — often in Emirati Arabic, English, or a mix of the two, and spread across several voice notes and texts. Turning that into a clean order by hand is slow and error-prone: listen, interpret, match every item to the right catalogue reference, get the quantities right, all day.
Worse, the words rarely pin down a product. "Send me milk" — full-fat or low-fat? Which brand, which size? The right answer usually isn't in the message at all; it's in the shop's standing order guide (its cadencier), not in any single order — and sometimes the exact item is out of stock and needs a substitute.
And it has to hold up under real conditions: messages arriving faster than they can be processed, race conditions between messages in the same conversation, out-of-order delivery, and a different catalogue and live inventory for every merchant.
We built a voice-to-order pipeline. Whisper transcribes the audio (transcriptions run in parallel per conversation), in Arabic or English, with English↔Arabic translation so a note in either language resolves to the same products; a classifier then extracts the items and quantities, and RAG matches each one against the merchant's own catalogue.
When a request is ambiguous, we resolve it the way a good shop assistant would: rank the likely products from the merchant's standing order guide (its cadencier), ask a short disambiguating question when confidence is low, and suggest a sensible substitute when the exact item is out of stock — so the order still goes through.
The hard part is the ordering, not the transcription. A Redis task queue processes each conversation's messages in strict sequence to avoid race conditions, aggregates consecutive messages into a single order, and keeps matching consistent with the merchant's live inventory — so several voice notes become one correct order instead of several conflicting ones.
The system runs on GKE (Kubernetes), built in Go with pooled gRPC connections between services; only the GPU transcription runs on Cloud Run, scaling to zero between bursts to keep it affordable. Structured error handling and Sentry keep it observable in production.
30–47%
faster transcription by running audio in parallel per conversation
Voice + text
WhatsApp messages turned into structured orders automatically
Per-merchant catalogs
each order is matched against that merchant's own product list
Send us a sample. We'll show you what we can do with it.
