Marketplace — Scoping & Delivery Checklist¶
SCOPE_ITEM: Comprehensive checklist for scoping and delivering marketplace projects. Used during intake (Aimee), architecture (Anna), and project management (Faye/Sytske).
Phase 1: Discovery & Scoping¶
Business Model¶
CHECK: What type of marketplace (product, service, rental, B2B)? CHECK: Who are the buyers? Who are the sellers? CHECK: What is the revenue model (commission, subscription, listing fee, hybrid)? CHECK: What is the commission rate? CHECK: What is the expected GMV at launch and 12-month projection? CHECK: What is the competitive landscape (existing alternatives)? CHECK: Is this a new marketplace or migration from an existing platform?
Buyer Side¶
CHECK: How do buyers find listings (search, browse, location, recommendations)? CHECK: What is the purchase flow (add to cart, direct buy, request quote)? CHECK: Is guest checkout required? CHECK: What payment methods are required (iDEAL, cards, PayPal, Klarna)? CHECK: Is multi-seller cart needed (one checkout, items from multiple sellers)? CHECK: What is the return/refund policy?
Seller Side¶
CHECK: Can anyone become a seller or is it invite-only / application? CHECK: What business types are accepted (sole traders, companies, both)? CHECK: Is KVK/CoC verification required? CHECK: What information is collected during seller onboarding? CHECK: How many listings per seller (average, maximum)? CHECK: Does the seller need analytics (sales, views, conversion)? CHECK: What is the payout frequency and minimum threshold?
Listings¶
CHECK: What is being listed (physical products, digital products, services)? CHECK: What attributes describe a listing (title, description, price, location, category)? CHECK: Are there category-specific attributes (size, colour, brand)? CHECK: How many images per listing (minimum, maximum)? CHECK: Is video content supported? CHECK: Is inventory tracking needed (stock count, variants)? CHECK: What is the listing lifecycle (active, expired, sold, suspended)?
Trust & Safety¶
CHECK: Is listing moderation needed (pre-publish review)? CHECK: Is AI-assisted moderation desired? CHECK: What are the prohibited listing categories? CHECK: Is buyer-seller messaging needed? With contact detail masking? CHECK: Is a review/rating system needed? CHECK: What is the dispute resolution process? CHECK: What are the consequences for policy violations?
Payments & Transactions¶
CHECK: Which PSP (Mollie Connect (NL, PRIMARY) or Stripe Connect (US, secondary — sovereignty risk))? CHECK: Is escrow / delayed payout needed? CHECK: What is the escrow hold period? CHECK: Is milestone-based release needed (service marketplaces)? CHECK: Are tiered commission rates needed? CHECK: Does the platform need to handle VAT?
Compliance¶
CHECK: GDPR applicability confirmed (EU data subjects). CHECK: PSD2 compliance (payments via licensed PSP). CHECK: Consumer rights (14-day return policy display). CHECK: P2B Regulation (transparent ranking, seller complaint mechanism). CHECK: DSA obligations (content moderation, reporting mechanism). CHECK: KYC/AML (delegated to PSP).
Phase 2: Architecture & Design¶
Technical Architecture¶
- [ ] Stack confirmed: Next.js + Hono + PostgreSQL + Drizzle.
- [ ] PSP selected and account created (Mollie Connect preferred. Stripe Connect secondary — US-based, sovereignty risk).
- [ ] Search engine selected (PostgreSQL FTS or Meilisearch).
- [ ] Media storage approach confirmed (S3 + CDN, EU region).
- [ ] Database schema designed (ERD reviewed).
- [ ] API route structure defined.
- [ ] Authentication approach defined (NextAuth.js, dual-role).
- [ ] Background job strategy (BullMQ for payouts, sync, notifications).
Payment Architecture¶
- [ ] PSP integration approach documented (Connect type, charge model).
- [ ] Escrow flow documented (hold, release, dispute).
- [ ] Commission calculation logic defined.
- [ ] Refund flow documented (who pays, timeline).
- [ ] Payout schedule defined.
- [ ] Webhook handling documented (events, idempotency).
Search Architecture¶
- [ ] Search index schema defined (fields, weights, facets).
- [ ] Index sync strategy defined (real-time vs batch).
- [ ] Facets and filters defined per category.
- [ ] Ranking factors and weights documented.
Trust & Safety Architecture¶
- [ ] Moderation workflow documented (automated checks, manual queue).
- [ ] Fraud detection signals defined.
- [ ] Review authenticity rules defined.
- [ ] Reporting flow documented.
- [ ] Policy documents drafted (T&C, acceptable use, review policy).
Phase 3: Development¶
Sprint 0 — Foundation¶
- [ ] Repository initialised with GE stack template.
- [ ] Database provisioned (EU-hosted PostgreSQL).
- [ ] Drizzle schema + initial migration created.
- [ ] Authentication flow implemented (buyer registration, login).
- [ ] PSP sandbox account configured and tested.
- [ ] Search engine provisioned (if Meilisearch).
- [ ] Media storage configured (S3 bucket, CDN, presigned URLs).
- [ ] CI/CD pipeline configured.
- [ ] Staging environment provisioned.
Core: Seller Side¶
- [ ] Seller registration flow with PSP onboarding.
- [ ] Seller profile (public page).
- [ ] Seller dashboard (orders, listings, revenue).
- [ ] Listing CRUD (create, edit, publish, unpublish, delete).
- [ ] Listing media upload (images, resize, CDN).
- [ ] Listing categories and attributes.
- [ ] Seller payout history view.
Core: Buyer Side¶
- [ ] Listing browse (category pages, sort, filter).
- [ ] Listing search (full-text, faceted).
- [ ] Listing detail page (images, description, seller info, reviews).
- [ ] Checkout flow (cart/direct buy, address, payment).
- [ ] Payment processing (PSP integration, split payments).
- [ ] Order confirmation and history.
- [ ] Review submission (post-purchase).
Core: Platform¶
- [ ] Admin dashboard (GMV, users, listings, transactions).
- [ ] Listing moderation queue.
- [ ] User management (search, suspend, reactivate).
- [ ] Transaction management (view, refund, dispute).
- [ ] Content pages (about, terms, privacy, FAQ).
Messaging & Notifications¶
- [ ] Buyer-seller messaging (conversation threads).
- [ ] In-app notification centre.
- [ ] Email notifications (order confirmation, new message, payout).
- [ ] Contact detail masking in messages.
Trust & Safety¶
- [ ] Pre-publish listing checks (automated).
- [ ] User reporting system (listing, message, review, user).
- [ ] Admin moderation queue (reports, flagged content).
- [ ] Review authenticity enforcement (verified purchase only).
Phase 4: Quality Assurance¶
Functional Testing¶
- [ ] Full buyer journey: register → browse → search → buy → review.
- [ ] Full seller journey: register → verify → list → sell → payout.
- [ ] Payment flow: all enabled payment methods tested in sandbox.
- [ ] Escrow flow: hold → release (buyer confirm + auto-release timeout).
- [ ] Refund flow: full refund, partial refund, seller-initiated.
- [ ] Dispute flow: open → evidence → resolve.
- [ ] Search tested with realistic listing volume.
- [ ] Messaging tested: send, receive, contact detail masking.
- [ ] Review tested: submit, display, moderation.
- [ ] Moderation tested: flag → queue → action → notification.
Security Testing¶
- [ ] Authentication tested (registration, login, password reset, social login).
- [ ] RBAC tested (buyer vs seller vs admin permissions).
- [ ] Payment security tested (no price manipulation possible via API).
- [ ] File upload tested (malicious files rejected, size limits enforced).
- [ ] Contact detail masking cannot be bypassed.
- [ ] Rate limiting tested (login, registration, messaging, API).
Performance Testing¶
- [ ] Homepage loads in <2 seconds.
- [ ] Search returns results in <200ms (Meilisearch) or <500ms (PostgreSQL).
- [ ] Listing page loads in <1.5 seconds (SSR).
- [ ] Checkout completes in <3 seconds (excluding PSP redirect).
- [ ] Concurrent user simulation (expected load + 2x headroom).
PSP Testing¶
- [ ] All payment methods tested in PSP sandbox.
- [ ] Webhook delivery and processing verified.
- [ ] Failed payment handling tested.
- [ ] Refund processing tested.
- [ ] Payout to test bank account verified.
- [ ] 3D Secure challenge flow tested.
Phase 5: Deployment & Handover¶
Pre-Launch¶
- [ ] Production environment provisioned (EU-hosted).
- [ ] PSP switched from sandbox to production (with live credentials).
- [ ] SSL certificate configured.
- [ ] DNS configured.
- [ ] Backup strategy configured and tested.
- [ ] Monitoring configured (uptime, error rate, response time, GMV).
- [ ] Search index populated with production listings.
- [ ] SEO configuration verified (sitemap, robots.txt, structured data).
- [ ] Policy pages published (terms, privacy, acceptable use).
- [ ] Client UAT completed and sign-off received.
Go-Live¶
- [ ] Production deployment executed.
- [ ] Smoke test: full buyer journey on production.
- [ ] Smoke test: full seller journey on production.
- [ ] Smoke test: live payment with real payment method (small amount).
- [ ] Webhook delivery verified on production.
- [ ] Search functioning on production.
- [ ] Client notified, launch communication sent.
Post-Launch¶
- [ ] Hypercare period active (2 weeks, priority support).
- [ ] Payment monitoring daily (successful vs failed, payout status).
- [ ] Moderation queue monitored (report volume, resolution time).
- [ ] Search performance monitored (query latency, zero-result rate).
- [ ] Client feedback collected after week 1 and week 2.
- [ ] Handover documentation delivered.
- [ ] Support and maintenance agreement activated.