Third time around I stopped and extracted everything into a single boilerplate. The key design decision was making it config-driven — nine feature flags, TypeScript config files for pricing (hourly/daily/weekly/monthly), categories, theme, emails. Flip a flag and the entire feature disappears cleanly, including nav links, context providers, and API routes.
Stack: Next.js 15 App Router, Tailwind v4, Prisma + PostgreSQL, Socket.io, Cloudflare R2. Nothing exotic — any Next.js developer can read the codebase in an afternoon.
Live demo with 50+ listings: https://marketplace-kit-demo.vercel.app
Selling it as a one-time purchase. Happy to talk about the architecture or any of the trade-offs I made.