BKOTT — Multi-Domain E-Commerce Marketplace
A multi-domain marketplace for the Egyptian market: NestJS 11 APIs, React storefronts and an Arabic-first admin in one Turborepo monorepo.
- Client : Bykii-Tech
- Duration : Ongoing since April 2026
- Year : 2026
- Tags : NestJS , TypeScript , React , PostgreSQL , Prisma , Turborepo
The problem
Bykii-Tech needed a marketplace that serves several storefronts across different domains from one product and one operations team, not a single shop. The Egyptian market adds two constraints that most off-the-shelf commerce stacks handle badly: Arabic has to be the primary interface language rather than a translation layer bolted on at the end, and analytics has to be collected under Egypt's data-protection law rather than the default global tag setup.
My role
I am one of the engineers building BKOTT at Bykii-Tech, working across the stack: the REST APIs, the React storefront and admin surfaces, the Prisma data layer, and the analytics and consent foundation underneath the marketing side.
Architecture
- REST APIs in NestJS 11 and TypeScript, with the domain modelled in PostgreSQL through Prisma.
- Everything lives in a Turborepo monorepo, so the API, the storefronts and the shared packages are typed, versioned and released together instead of drifting apart.
- The storefronts are React on Vite. The admin dashboard is being rebuilt through a structured, wave-based UX and information-architecture overhaul — design tokens, dense data tables, and a sign-off gate at the end of each wave, so a redesign of that size lands in reviewable increments instead of one risky cutover.
- I build the reusable React component patterns the product leans on — data tables, filter systems and form systems — with Arabic and RTL localisation treated as a first-class requirement rather than a stylesheet flip at the end.
- Across the wider Bykii-Tech platform I also co-designed the multi-tenant PostgreSQL architecture of roughly 200 tables that this product sits on, and designed a runtime-editable dynamic form-builder architecture: Zod schemas as the shared source of truth between client and server, with submissions stored as JSONB so an admin can change a form without waiting for a deployment.
Technologies
NestJS 11, TypeScript, React with Vite, PostgreSQL, Prisma, Turborepo, Zod, GA4 with Consent Mode v2.
Outcome
BKOTT is in active development and I am still on it. The marketing and analytics foundation is already in place: GA4 with Consent Mode v2, consent flows aligned with Egypt's PDPL (Law 151/2020), and server-side filtering of invalid traffic — so the numbers the business acts on are lawful and clean at the same time. The monorepo and the shared component library mean a new storefront reuses the same typed contracts and the same RTL-correct UI instead of forking a copy that will quietly diverge.