product

Course Platform Starter — Next.js + Payload Boilerplate

Choose a license

$99.00

After purchase we will send a download link to your email.

View screenshots (8) →

Ship your own course platform in a weekend — not in six months.

A production-ready, self-hosted boilerplate that gives you everything: a gated course player, a Stripe-powered digital-products store, lead magnets, a marketing site, a CMS admin panel, and a REST API for AI-agent content ingestion. Zero monthly SaaS fees. Your brand, your data, your rules.

Who it's for

  • Indie educators and course creators who want to sell courses without paying 10–30% platform fees forever
  • Developers building for clients who need a turnkey course/product platform they can customize and hand off
  • Technical founders launching an info-product alongside a SaaS
  • Agencies delivering branded learning portals

You need basic Next.js/React familiarity and a VPS or PaaS (Railway, Coolify, Render, Fly.io). The installer script handles the rest.

Why self-host instead of Teachable / Podia / Gumroad?

No monthly platform fee — you just pay your VPS (~$5–20/mo) — and no extra transaction cut beyond Stripe's. A custom domain and full white-labeling are standard, not locked behind a higher tier. You own the source code and the data, and you can modify anything.

Courses

  • Phases + lessons structure with Lexical rich text (prose, video, images, callouts)
  • Shiki server-side syntax highlighting for code blocks
  • Anchored headings and a sticky table of contents on every lesson
  • Per-user progress tracking with mark-complete and auto-advance to the next lesson
  • A "Resume" link that jumps straight to the last incomplete lesson
  • Enrollment via Stripe Checkout; gated access redirects unenrolled visitors

Digital products store

  • One-time Stripe purchase → an HMAC-signed, expiring download link (no buyer account required)
  • Use-count limiting on download grants
  • Lead-magnet mode — free in exchange for an email via Brevo double opt-in
  • Private file storage; only the grant-gated streaming route ever exposes the file

Payments & legal

  • Stripe Checkout for both courses and digital products
  • Consent capture at checkout (EU digital-goods right-of-withdrawal waiver)
  • Webhook idempotency — duplicate Stripe events are detected and skipped
  • Refund revocation — automatically removes course access or expires the download grant
  • Terms of Service and Privacy Policy templates in PL and EN

Marketing site & CMS

  • Block-based page builder (hero, features, testimonials, CTA, blog, contact)
  • Blog with categories and rich text, plus a projects/portfolio collection
  • Per-page SEO and an auto-generated sitemap
  • Draft preview, CMS-managed redirects, full-text search
  • Optional self-hosted Umami analytics

Architecture & DX

  • Three isolated surfaces (courses.*, apps.*, and the main site) served from a single Next.js process via host-rewrite middleware
  • PL/EN localization built in (Payload localized fields + typed UI translations)
  • CSS-variable theming — swap a theme.css file to re-skin without touching components
  • PostgreSQL 16 with Payload 3 migrations
  • Admin RBAC (admin / customer roles)
  • A token-authenticated external content REST API for headless / AI-agent ingestion

What's included

Full source code (Next.js 15, Payload CMS 3, Stripe, Brevo, Shiki, shadcn/ui), an installer script, a step-by-step SETUP guide, a canonical FEATURES reference, demo seed data, legal templates, an AGENTS.md re-skinning and customization guide, and a commercial license covering unlimited projects.