Skip to content

Marketplace · GraphQL

Ayshei

A UAE classifieds and auctions marketplace built for 100,000+ users across four verticals.

Product
Ayshei — UAE classifieds and auctions marketplace, 100,000+ users
Role
Frontend engineer, VisionX Technologies
Scope
React frontend across four verticals, listing and search performance, GraphQL integration
Ayshei case study cover

The tension

Four marketplaces wearing one interface, all of them read-heavy at once.

What was happening

One React frontend served 100,000+ users across four separate verticals — electronics, real estate, motors and art — each with its own idea of what a listing is.

What changed the brief

The load was overwhelmingly read: browsing and searching, not posting. That moved the work from feature breadth to listing and search performance.

Success looked like

Listing and search staying responsive under read-heavy traffic, with one component vocabulary rather than four divergent ones.

The constraint

Four verticals could not each fork the interface, and the same popular queries were hitting the database repeatedly.

100k+users served

All four verticals on one frontend.

4marketplace verticals

Electronics, real estate, motors and art.

The product story

One interface, four verticals.

The marketplace

Browsing is the main event.

The landing view is built around discovery across all four verticals rather than around any one of them.

Ayshei — landing view
Shared listing vocabulary.Electronics, real estate, motors and art render through the same components rather than four forks.

Mobile

Most of a marketplace is browsed one-handed.

The same listing components reflow to narrow widths, keeping search and filters reachable.

Ayshei — mobile view
GraphQL-backed, per-view.Each surface asked for the fields it rendered rather than over-fetching a shared payload.

Search and listings

Read-heavy by design.

Listing and search were optimised for repeated reads, with Redis caching at the API layer cutting duplicated database load.

Ayshei — full page
Cache the popular path.Repeat queries answered from Redis instead of returning to the database each time.

Walkthrough

The marketplace in motion

Recorded from the live site.

The trust test

The happy path is only half the product.

The same query arrives a thousand times

Redis answers it at the API layer, so a popular search costs one database round trip rather than one for every visitor who runs it.

A vertical does not behave like the others

Electronics, real estate, motors and art render through the same components, so the vertical that does not fit is a configuration rather than a fourth codebase.

It is being browsed one-handed

Search and filters stay reachable as the listing components reflow, because most of a marketplace is browsed on a phone rather than at a desk.

The decisions

Three moves carried the story.

One vocabulary across four verticals

A shared listing and search component set, so a new vertical was a configuration rather than a fork of the interface.

Cache the read path

Redis caching on the API layer to cut repeated database load, targeting the popular queries that dominated a read-heavy marketplace.

Ask for exactly what renders

GraphQL integration per view, so each surface fetched the fields it displayed instead of a shared over-fetched payload.

What I would test next

One component vocabulary served four verticals. The test is the fifth: whether it arrives as configuration, or as the first fork.