Next.js 16 · Tailwind 4 · Static export

Course pagesthat look designed.

Six complete landing pages for course creators, coaches and newsletter writers. Conversion blocks that already match, motion that costs zero kilobytes, and one content file to edit. Live this afternoon.

Launch price, normally $59 · 14-day refund · Lifetime updates

6 demos from 32 components

6
Full page demos
32
Components
0
Runtime dependencies
1 day
To live, realistically

The demos

Not six colour schemes. Six different pages.

A webinar page and a coaching page want different things from a visitor, so they are built differently — different hero, different proof, different ask. Each one is a real page in the repo you can open, edit, or delete.

Every demo is the full page, not a screenshot. Start with the flagship, or read what each page is doing.

Next.js 16. Tailwind 4. Static export. CSS-only motion. Self-hosted fonts. 32 components. 6 demos

What's inside

Built the way you'd build it if you had the time

No page builder, no theme options panel, no 40-field config. It is a normal Next.js project with good defaults and comments that explain the decisions.

0KB of JS for animation

Motion that isn't a library

Every reveal, marquee, progress bar and header transition is a CSS scroll-driven animation. No Framer Motion, no observers, no JavaScript on the scroll path — and each one degrades to plain visible content where the feature is missing.

Static export

next build gives you a plain out/ folder. Drop it on Vercel, Netlify, Cloudflare or a $3 VPS.

Fonts you own

Self-hosted via @fontsource. No Google Fonts CDN, so it loads everywhere — including behind the Great Firewall.

One content file per page

Copy, prices, modules, testimonials and FAQ all live in a typed data file. TypeScript tells you when you miss a field.

Accessible by construction

Native <details> accordions, real focus rings, reduced-motion handling, 4.5:1 body contrast on every surface.

FAQ rich results

The FAQ block emits FAQPage JSON-LD, so Google can expand your questions in search.

Why buy it

The difference between shipping and redesigning

Building it yourself

  • You spend three weekends on a landing page instead of the course.
  • The page works, but it looks like a page built by someone who codes.
  • Every conversion block — countdown, accordion, bonus stack — is a new evening of work.
  • Google Fonts, a chart library, an animation library, 400KB before your first word.

With the kit

  • You edit one content file and deploy the same afternoon.
  • Typography, spacing and motion were decided by someone who does this for a living.
  • All of them are already in the box, and they all match.
  • Self-hosted fonts, CSS-only animation, static HTML. No runtime dependencies at all.

The editing experience

You change content, not components

Every page reads its copy, prices, modules and testimonials from one typed file. Change a string, save, and the page is already rebuilt in the browser. TypeScript tells you if you miss a field.

src/data/course.ts
// src/data/course.ts — change these, not the components
export const course = {
  name: "Typeset",
  subtitle: "A 6-week typography course for product designers",
  enrolmentDeadline: "2026-09-14T23:59:00Z",
  price: 349,
  compareAt: 495,
  paymentPlan: "or 3 × $125 — no interest",
  checkoutUrl: "https://gumroad.com/l/your-course",
};

export const modules = [
  {
    title: "The modular scale",
    summary: "A size system you never have to argue about again.",
    lessons: [
      { title: "Ratios, and why 1.618 is usually wrong", length: "16 min" },
      { title: "Fluid type with clamp() without breaking rhythm", length: "22 min" },
    ],
  },
];
One file per page. This is the whole content layer for the flagship demo.
src/app/page.tsx
// src/app/page.tsx — the page is a list of sections
export default function Page() {
  return (
    <>
      <Hero headline={...} primary={{ label: "Enrol", href: "#buy" }} />
      <Section tone="sand"><LogoMarquee logos={logos} /></Section>
      <Section tone="cream"><Curriculum modules={modules} /></Section>
      <Section tone="shell"><TestimonialColumns items={quotes} /></Section>
      <Section tone="cream" id="buy"><PricingTable tiers={tiers} /></Section>
      <Section tone="sand"><Faq items={faq} /></Section>
    </>
  );
}
Reordering the page is reordering these lines. Deleting a section is deleting one.

This afternoon

01

Clone it

One command, or download the zip. npm install, npm run dev, and the six demos are running on your machine.

02

Replace the content

Open the data file for the page you picked. Your course name, your price, your modules, your testimonials.

03

Deploy

Push to GitHub, connect Vercel, done — it's a static site, so the free tier is genuinely enough.

Pricing

One price, no subscription

Free

The flagship demo and the whole design system, on GitHub. Ship a real page without paying anything.

$0
Clone on GitHub
  • Online course demo, complete
  • Design tokens, type scale, motion layer
  • 22 of the 32 components
  • Vercel deploy guide
Most popular

Complete kit

All six demos, all 32 components, and the SEO pages. One purchase, one commercial project.

$39$59

Launch price. Goes to $59.

Buy — $39
  • 6 full page demos
  • All 32 components
  • Programmatic SEO pages + sitemap
  • Lifetime updates
  • Use on one commercial project

Extended

For studios and freelancers: use it for as many client projects as you like.

$199
Buy extended
  • Everything in Complete
  • Unlimited client projects
  • Resell the finished site to clients
  • Email support, 48h

Prices in USD, one-time. 14-day refund, no questions — email me and it's done. Invoices available for company purchases.

Free version

Ship a page without paying anything

The flagship demo and the whole design system are on GitHub, MIT for personal use. It is the real page, not a teaser — if it gets your course live and you never buy the kit, that is a fine outcome for both of us.

Clone on GitHubWhat's in the free version

No email required. No “free trial” that expires.

Questions

What people ask before buying

Do I need to know React to use this?+

To change copy, prices and testimonials: no. Those live in one data file per page and read like a list. To add a section or rearrange the page: you need to be comfortable editing JSX, which is close enough to HTML that people manage it on their first day.

What exactly do I get?+

A Next.js 16 project: 6 complete landing pages, 32 components, the design system, the SEO pages with a sitemap, and a README written for someone who has never deployed anything. You get the repository, not a zip of HTML.

Where do I host it?+

Anywhere. It builds to a plain folder of static files, so Vercel and Netlify are one click, Cloudflare Pages and GitHub Pages are free, and any web host that serves files will work. The README walks through Vercel with screenshots.

Can I use it for a client?+

The Complete licence covers one commercial project — yours or a client's. If you build sites for a living, the Extended licence covers unlimited client projects, including handing the finished site over.

Is there really no JavaScript?+

There is a little: the countdown timer and the sticky enrol bar are client components, because time and scroll position genuinely need it. Everything else — reveals, marquees, the reading progress bar, the accordions, the header — is CSS. That is why the pages score the way they do.

What if it doesn't fit my course?+

Try the free version first; it is the full flagship page, not a teaser. If you buy and it still isn't right, email me within 14 days and I'll refund it. Digital goods, so I'd rather you just kept the files.

Your course deservesa page that sells it.

$39 today, $59 once the launch window closes. Lifetime updates, 14-day refund.

Or look through the six demos again