P R O J E C T SC O N T A C T

[09]

MARKETPLACE

TIER B · YEAR 2026 · STATUS: LIVE · LANGUAGES: TYPESCRIPT

Multi-tenant marketplace: subdomains, Stripe Connect, chat, order lifecycle

[FIG. 1] MISSION

A multi-tenant marketplace on Next.js 15 + React 19 with a Payload CMS + MongoDB backend and a type-safe tRPC API. Each vendor runs a shop on its own subdomain; payments flow through Stripe Connect with an automatic platform fee. On top of the base (Antonio's tutorial) it adds real commerce: websocket buyer↔seller chat, a full order lifecycle (confirm / dispute / review), transactional emails, reviews, a purchase library, and a full set of marketing/legal pages. Built AI-native — custom Claude skills (payload-collection, trpc-router) and code review in CI.

[FIG. 2] ARCHITECTURE

hover a block to see its description

[FIG. 2A] THE CI REVIEWER

.github/workflows/claude-code-review.yml · on: pull_request

▸ commit a3f9e21feat(chat): typing indicator

[◎] WAITING FOR A PR

  • modules/chat/server: tRPC procedure without .input() — add a zod schema
  • use-chat-socket: missing useEffect cleanup — socket leak on unmount

AN AI-NATIVE PROCESS, NOT AN AI PRODUCT: EVERY PR IS REVIEWED BY CLAUDE IN CI

[FIG. 3] CHALLENGES

[+][CH-01]

Multi-tenancy + Stripe Connect at once: paying the seller's account with an automatic operator fee.

[+][CH-02]

Extending someone else's mature base without breaking its conventions — documented in `.planning/codebase/*` and custom Claude skills.

[+][CH-03]

Realtime buyer↔seller chat wired into tRPC + a Payload collection, plus a dispute/review lifecycle with transactional emails.

[FIG. 4] AI LAYER

Multi-tenant marketplace: subdomains, Stripe Connect, chat, order lifecycle

[FIG. 5] GALLERY

SCREENSHOTS INCOMING — see SHOTS-WANTED

[FIG. 6] STACK & LINKS

NEXT.JS 15REACT 19PAYLOAD CMSMONGODBTRPC 11TANSTACK QUERYSTRIPE CONNECTSHADCN/RADIXTAILWIND V4VERCEL BLOB
[RESTRICTED — CLIENT PROJECT]