
A UAE home-furnishing retailer with a 40k-SKU catalogue
Customers shared Pinterest-style inspiration photos over WhatsApp and expected matching SKUs in return. Manual matching cost 20-30 minutes per enquiry; most customers dropped off before the retailer could respond.
What they came to us with.
Customers were sending inspiration photos from Pinterest and Instagram into the retailer’s WhatsApp and expecting “show me what matches from your catalogue” in return. Sales staff were spending 20–30 minutes per enquiry hand-matching, and the retailer could only respond during business hours.
Most enquiries dropped off before resolution. The retailer had a 40k-SKU catalogue and no good way to surface what was relevant fast enough to keep an interested customer engaged.
How we built it.
We built a self-serve web app on a shared FastAPI backend. The customer uploads a photo, GPT-4o vision extracts structured furniture and decor keywords (style, material, colour palette, item type), and those keywords are piped into SerpAPI Google Shopping with UAE/Dubai geo-localization. Matching SKUs come back inside a few seconds.
The non-obvious call: we did not embed the SKU catalogue. Letting the vision model produce keywords and querying shopping search was cheaper, faster, and reused the retailer’s live inventory feed (price, availability) for free. Carts persist via localStorage + Pinia; WeasyPrint + Jinja2 exports a branded PDF catalogue for sales follow-up.
What shipped. What changed.
Enquiry-to-shortlist time
Enquiries resolved without staff
After-hours demand capture
SerpAPI spend per enquiry
Keep reading.

Technology — A MENA-region AI startup shipping two consumer-facing products
Production-Grade Multi-Product AI Backend on a Shared Core
Two AI products (one retrieval-heavy, one vision-heavy) were being built as separate backends. Duplicated auth, duplicated RBAC, duplicated observability, and diverging fast.
- Auth, RBAC, and observability built once and consumed by both products
- Per-product workers (ARQ) keep heavy work off the request path
- Token-versioning invalidates all sessions on password change with zero revocation-list growth

Finance — A Gulf-region tax and compliance advisory firm
RAG Assistant for MENA Regulatory Compliance
Advisory staff were answering the same 40-50 recurring UAE corporate-tax questions by hand, each pulling 2-3 regulatory PDFs. Turnaround averaged 6 hours and junior staff frequently missed cross-references between VAT and CT documents.
- Avg. first-answer latency under 4s end-to-end
- Retrieval precision@5 improved from 0.61 to 0.88
- L1 staff resolution rate climbed from 35% to 82%
Want the same outcome for your team?
Tell us where you are now. You'll get a fixed price in writing before any work starts.