Hazem Salama
All work

Qusah StoresE-commerce Tech LeadAug 2025 to present · Riyadh, remote

I joined Qusah Stores to build its contract platform, went on to lead the 7-engineer team behind the ERP services, and now lead the e-commerce engineering function I stood up from scratch. The systems are under NDA, so this is told through the decisions and the measured results.

Stack: React, Next.js, Node.js, TypeScript, Redis, AWS, Datadog, Salla, GA4

Three roles in a year

Newest first

I lead e-commerce engineering at Qusah Stores. The function did not exist before June 2026. The work covers the flagship Salla storefront and its in-house custom theme, the migration of an acquired storefront, and the funnel, cart and checkout reporting that leadership reads.

Roles at Qusah Stores
PeriodRoleScope
Jun 2026 to presentE-commerce Tech LeadThe e-commerce engineering function, built from scratch to a team of four.
Jan 2026 to Jun 2026Senior Software EngineerERP services, with technical direction for a 7-engineer team.
Aug 2025 to Jan 2026Full-Stack EngineerThe contract platform and its Saudi government API integrations.

Sales were flat. The site was not the reason.

The problem

Ad spend had doubled and sales had stayed flat. The obvious explanation was site performance, and it was a convenient one for an engineering lead: it would have justified more engineering work. That is a reason to test an explanation before accepting it.

I reconciled six data sources against each other. They traced the problem to a paid-channel efficiency gap, not to the site. The findings went to leadership as a bilingual report with funnel, cart and checkout dashboards, and leadership adopted both.

The diagnosis
Sources reconciledStore reports, GA4, ad platforms, Microsoft Clarity, lab Core Web Vitals and field Core Web Vitals.
Ruled outSite performance.
FindingA paid-channel efficiency gap.

An engineering function, from zero to four

The team

There was no e-commerce engineering function to inherit. I stood it up from scratch and owned the full hiring cycle, from defining each role and sourcing candidates through to onboarding.

The team is cross-functional by design: engineering and UX research sit in the same group, so the people who study how shoppers behave work beside the people who change the storefront.

The team of four
SeatsTeam Lead, Frontend, Backend and UX Research.
Hiring cycle ownedRole definition, sourcing and onboarding.

Decisions

What I chose, what I chose it over, and what it cost

Qusah Stores acquired a competitor storefront that had to keep trading while it changed hands. The ERP services took 2.5 seconds to respond and 2 hours to deploy. These are the three decisions behind the figures.

Rebuild the acquired storefront, not adapt it

ChoseRebuild the acquired storefront on the in-house custom theme, with the technical due diligence finished before the migration started. It moved in 2 days with zero downtime to live trading.
OverAdapting the template the acquired storefront already ran on.
CostNothing from the acquired template carried over. Every part of the storefront had to exist in the in-house theme before the switch.

Fix the hot paths, keep the services

ChoseRedis caching, database indexing and query optimisation across ERP services handling 10,000+ daily transactions. Response time went from 2.5s to 500ms.
OverRewriting the services.
CostCached data can go stale, so every cached path needs an invalidation rule. Each index adds a little work to every write.

Smaller services, automated releases

ChoseA migration to AWS microservices with automated GitHub Actions CI/CD and Datadog monitoring. Deployment went from 2 hours to 15 minutes while holding a 99.9% uptime SLA.
OverKeeping the 2-hour deployment process.
CostMore separate services to deploy and observe. The automated pipeline and the monitoring exist to carry that load.

Results

Before and after, as measured

Qusah Stores, before and after
MeasureBeforeAfterTo scale
ERP API response timenote 32.5s500ms
Deploy timenote 52h15min
Contract processingnote 510min2min
Storefront layout shift (CLS)note 60.850.06
Storefront blocking time (TBT)note 61,170ms180ms
Storefront largest paint (LCP)note 616s6s
Storefront Lighthouse score, mobilenote 63668

BeforeAfterLower is better on every row except Storefront Lighthouse score, mobile. Bars are drawn to scale within each row.

On the flagship storefront the mobile gains came from three changes: eliminating render-blocking assets, reserving layout space and deferring third-party scripts. An LCP of 6s is a large step from 16s and still has further to go.

Contract processing fell from 10 minutes to 2 once Wathq and Sadq handled validation and credit verification behind asynchronous queues.

Notes

How each figure on this page is defined

  1. 1The e-commerce engineering team at Qusah Stores, built from zero to four: Team Lead, Frontend, Backend and UX Research. I owned the hiring cycle from role definition to onboarding.
  2. 2An acquired competitor storefront, rebuilt on the in-house custom theme and switched over in 2 days with zero downtime to live trading.
  3. 3ERP API response time across services handling 10,000+ daily transactions, cut 80% with Redis caching, database indexing and query optimisation. Measured Jan to Jun 2026, at a 99.9% uptime SLA.
  4. 48M SAR ($2.1M+) of contract value on the Qusah Stores contract platform in its first four months. I built the platform as a full-stack engineer, from Aug 2025.
  5. 5Deploy time is the time to release the ERP services, before and after the move to AWS microservices with GitHub Actions CI/CD. Contract processing is the time to process one contract, before and after integrating Wathq and Sadq behind an asynchronous queue.
  6. 6Mobile measurements on the flagship Salla storefront, before and after the work: Lighthouse score out of 100, Cumulative Layout Shift, Total Blocking Time and Largest Contentful Paint.

This work is under NDA, so there are no screenshots here. I can walk through the detail in conversation.

Want the detail behind this one?