01Context
Two related eCommerce projects for Kuwait-based clients.
True Express is a vendor-per-storefront marketplace — each vendor manages their own products, orders, and admins under one customer-facing storefront.
Jazly extends the same model with a country + district hierarchy. Coupons, banners, categories, and discount rules vary per district. A vendor in Kuwait City sees a different rule set than the same vendor in Salmiya.
02Challenge
Multi-tenant data isolation at the data layer, per-district business rules without sprawling into chaos, and a separate UI surface for each audience — admin, vendor, integration, API, and customer — without duplicating logic.
03Approach
- Modelled districts as a first-class entity. Coupons, banners, and categories all hang off a
district_idrather than being faked through tags or naming conventions. - Laravel for the API and admin / vendor backends. Nuxt for the customer-facing storefronts (SSR for SEO, hydration for interactivity).
- Redis caching layer for hot reads — category trees, banner sets, active coupons.
- Role-based permissions across admin, vendor, and integration users, all flowing through a single authorization layer.
- Mobile apps consumed the same API.
04Outcome
Both platforms shipped and live. True Express remains at trueexpress.com.kw.
05What I'd do differently
Spend more time upfront on the integration side. Each integration partner had subtly different requirements, and we ended up with adapter code that drifted over time. A stricter integration contract from day one would have saved months.