Brands & Ventures · Brand · Multi-line Commerce
SubmissionIsHealing
Architected the full multi-brand commerce platform for a personal brand — courses, journaling, and a handmade wing — all from one system.
THE WORK
The Situation
One founder, several product lines, and three disconnected Shopify stores waiting to happen.
A founder was launching multiple lines under one name — a course, an editorial brand, a handmade wing. The instinct was to spin up a store per line. That path ends in three admins, three checkouts, and three sets of customer data that never agree.
The Job-to-be-Done
When I'm launching several product lines under one personal brand,
I want to sell courses, handmade goods and editorial content from a single platform,
So I can grow each line without stitching disconnected tools together.
The Approach
I treated this as a bespoke multi-brand commerce platform, not a theme on a hosted store. The founder needs to add a line — or retire one — without a migration or a new vendor. So the data model came first: one catalog, one customer, one ledger, with sub-brands as a dimension rather than separate systems.
The second decision was ownership. A personal brand is edited daily, not quarterly. I gave the owner a visual composer over the live site and scoped theming per sub-brand, so each wing keeps its own face without forking the house defaults. Editing is a first-class workflow, not a developer ticket.
The third was independence. No HubSpot, no Klaviyo, no GA4. Marketing automation and analytics live inside the platform, on first-party data the founder owns outright. Fewer vendors, fewer seams, and a customer record that stays whole.
The System
The stack is Next.js 16 and React 19 with Payload CMS v3 embedded at /admin, backed by Drizzle ORM on Postgres 16. A Turborepo splits the web app from a dedicated BullMQ worker on Redis that runs the slow and stateful work — email sequences, attribution, image processing, webhooks. Checkout is Stripe multi-currency across PKR, USD, GBP, AED and EUR; media sits on Cloudflare R2 behind a CDN, with legacy 301s served from a Worker.
Two pieces carry the depth here. First, an in-house email-sequence and lead-scoring engine plus a first-party analytics ledger with identity stitching — the replacement for the usual third-party marketing stack. Second, a Payload visual "Composer" that lets the owner compose live page regions, with per-sub-brand theming layered over shared house defaults. The Wix cutover used an interim storefront on a byte-compatible Drizzle schema, which made the import a zero-rewrite copy and the switch visually seamless — 44 posts, 250 orders, and 187 URLs carried over and 301-redirected. The whole thing runs isolated and self-hosted on Dokploy and Hetzner, with its own Postgres, Redis and network, and Sentry plus Pino for observability.
Status
Live and in development. The platform is in production; the first live commerce product is the Sarf Companion Arabic workbook, with the journaling and handmade wings rolling out on the same core. The handmade line — The Niyyah Thread — runs as its own scoped wing on this platform (shown separately). I am part-owner and technical co-founder, and the system is built to absorb each new line as it ships.