ASAnmol Shrestha
← All projects
E-commerce2024

Zyabaa

A multivendor marketplace where independent sellers run storefronts under one roof — vendor onboarding, per-vendor order splitting, commission accounting, and payouts.

ZYzyabaa.com
0+active vendors
0k+SKUs indexed
0.0%checkout success rate
<0mssearch response (p95)

Overview

Zyabaa is a multivendor e-commerce platform: one storefront for buyers, a full back office for each vendor, and an operator console in the middle that handles commissions, disputes, and payouts. I led the build from schema design to launch.

MY ROLELead full stack developer
TIMELINE6 months to launch, ongoing
STACK
LaravelReactMySQLRedisMeilisearchStripe / eSewa

The problem

Single-vendor store builders couldn't express the marketplace model: a cart spanning three vendors is really three orders, three fulfilments, and three ledger entries wearing one checkout. Off-the-shelf multivendor plugins buckled under real catalog sizes and made commission accounting a spreadsheet job.

The solution

I built the marketplace core from first principles: checkout atomically splits carts into per-vendor sub-orders, each with its own fulfilment lifecycle; a double-entry ledger tracks every rupee across sales, commissions, refunds, and payouts; and vendors get a self-serve dashboard with product management, order queues, and earnings. Search runs on Meilisearch with faceting across a six-figure SKU catalog.

Architecture

Laravel modular monolith — deliberately not microservices at this stage — with clear bounded contexts (catalog, orders, ledger, vendors) that could be extracted later. Redis handles carts and cache; Meilisearch owns discovery.

ClientReact storefront + vendor dashboard · shared design system
APILaravel modular monolith · order-splitting saga · double-entry ledger
DataMySQL (orders, ledger) · Redis (carts, cache) · Meilisearch (catalog)
InfraDocker on VPS · queued webhooks · scheduled payout batches · CDN media

Challenges

Splitting orders without losing money

A multi-vendor checkout must either fully succeed or fully fail. I wrapped the split in a saga with compensating actions, so partial failures roll back cleanly.

Commission accounting people can audit

Percentages-in-a-column doesn't survive refunds and disputes. A double-entry ledger made every balance explainable and payout reports trivial.

Catalog search at six figures

MySQL LIKE queries collapsed early. Meilisearch with incremental sync gave faceted, typo-tolerant search in under 40ms.

Lessons learned

A modular monolith beats premature microservices — bounded contexts give you the seams for later.

Money paths deserve double-entry bookkeeping from day one, not as a refactor.

Vendor experience is the growth engine of a marketplace; invest in the dashboard early.

NEXT CASE STUDYUKLC UBT