PortLev chevron_right Build Logs chevron_right PortLev Academy
build Build Log #007

How I Built
PortLev Academy
in Three Weeks

A Portfolio Executive's walkthrough of building a free, MDX-driven learning site as the top of a five-rung value ladder. The principle: gate transformation, not information. The stack, the schemas, the prompts and the lessons.

YK

Yuri Kruman

3x CHRO · 2,300+ coaching clients · Jun 2026

0

value-ladder rungs

0%

content free, by design

0w

to a shipped learn.portlev.com

$0

LMS bill (built on Skool + Maven)

bolt

The 30-Second Version

PortLev Academy at learn.portlev.com is a free, open-source content site. Lessons are MDX with Zod-validated frontmatter, organized into tracks. It is the top of a five-rung value ladder: free lessons → free Skool community → paid Leverage Lab membership ($49-99/mo) → CHRO AI Cohort on Maven ($2K-5K) → corporate / fractional CHRO ($20K+). The site never tries to be the LMS. Skool and Maven already are.

report

The Problem

Trying to ship a "course platform" before any free audience exists is a year-long detour into LMS plumbing.

memory

The Stack

Next.js 15 + Vercel + MDX + Zod schemas + Skool (community) + Maven (cohort) + beehiiv (newsletter).

block

What It Doesn't Need

No LMS. No payment processing. No auth. No video hosting. No discussion forum.

timer

Build Time

Three weeks: one week for the engine, two for the first three tracks of content.

If you are a domain expert who has ever stared at Teachable, Kajabi or LearnWorlds and asked "do I really need an LMS to start," this build log is for you. The point is not the site. The point is the ladder.

Part 1

Why an Academy Site (and Not a Course Platform)

I had been coaching 2,300+ clients across a decade of HR transformation and AI work. The natural move was to "build a course." I almost did. I came within a day of buying Kajabi. I'm grateful I didn't:

$159-399/mo

Kajabi monthly bill with no audience yet to justify it

6-12mo

typical time to course-platform productivity for a non-developer

~0

SEO juice from a closed Kajabi site

1

non-negotiable: it had to compound. Forever. CC-licensed.

The instinct that saved me came from a one-line principle: information is no longer scarce; transformation is. People can get information from ChatGPT. They cannot get guided transformation from a model. Guided transformation requires a teacher, a peer cohort and accountability. Those are what get gated.

  1. 1Free content is not generosity. It is distribution. Open MDX in a public repo with CC-BY is a moat. Google indexes it. AI engines cite it.
  2. 2The LMS is not a problem worth solving. Skool and Maven exist. Use them. Send buyers there.
  3. 3The site's only job is the ladder. Free lesson → email capture → community invite → paid offer.
starThe Single Most Important Design Call

Gate transformation, not information.

Every piece of content defaults to free. A piece is gated only if it requires Yuri's live time, ships a done-for-you implementation asset, provides accountability or earns a 30-day early-access window. Anything that doesn't pass that test is free. That rule is enforced at the schema level, not in someone's head.

Part 2

The Stack (and Why Each Piece)

Click each layer for the reasoning.

terminal

Framework

Next.js 15 (App Router)

expand_more

Static site generation per lesson. Edge-cacheable. Built-in image optimization. Read the in-repo docs — this is not the Next.js you remember from your training cutoff. Heed deprecation notices on every release.

description

Content Format

MDX with Zod-validated frontmatter

expand_more

Lessons live at content/tracks/<track>/NN-<slug>.mdx. Every frontmatter field is validated at build time by a Zod schema. A typo fails the build. There is no "draft published by accident" state.

cloud

Hosting

Vercel

expand_more

Preview deploys on every PR. CC-BY license file at repo root signals to the world (and to AI engines) that the content is open. Domain: learn.portlev.com.

forum

Community

Skool (free + paid tier)

expand_more

Free tier becomes the warm pool. Paid Leverage Lab is the first monetization rung. Skool ships gamification, member directory, payments and discovery I would not build. The site links out; it does not embed.

school

Cohort

Maven

expand_more

CHRO AI Cohort is hosted on Maven. Maven is the credibility play (they vet instructors) and the operations play (they handle Zoom, payments, certificates). The site links out to the cohort page; it does not run the cohort.

mail

Newsletter

beehiiv (Leverage Brief)

expand_more

Every free lesson ends with a CTA to subscribe. beehiiv handles list, segmentation, analytics, paid recommendations. The archive lives on-site under content/briefs/ so it's indexed and AI-citable; the subscribe form posts to beehiiv.

Part 3

The Six-Phase Build Sequence

Each phase is ~2-4 days. Sequence in order. Do NOT start Phase 5 (community wiring) until at least one full track exists; the community needs something to link to.

LadderSchemaEngineTrack 1Ladder UISEO/AEO
1
2 DAYS · ONE-PAGE STRATEGY DOC

The Value Ladder (Before Any Code)

Five rungs, each on a separate platform, each with one job. Free YouTube + SEO articles for reach. Free lessons + newsletter for owned audience. Free Skool for warm pool. Paid Leverage Lab for low-risk first yes. Maven cohort for the high-ticket transformation. Direct services for the highest ticket. Each lower rung is the qualifier for the next.

The five rungs:

R0YouTube + SEO articles — infinite reach
R1Free lessons + Leverage Brief — email capture
R2Free Skool community — warm pool
R3Leverage Lab paid membership $49-99/mo — first yes
R4CHRO AI Cohort on Maven $2K-5K — transformation
R51:1 / fractional CHRO $20K+ — highest ticket
warning

Iron rule: if you can't draw the ladder on one page, the site will become a junk drawer. The ladder is the architecture. Every page, every lesson, every CTA is a step from one rung to the next.

Part 4

What I'd Do Differently Today

1

Write the ladder before writing the schema

The schema was first draft 4. Each draft was a reaction to a ladder decision I hadn't yet made. The schema is the strategy in code; you can't write it before you've made the strategy.

2

Treat llms.txt as a first-class deliverable, not an SEO afterthought

AI engines cite sites that make themselves easy to cite. A clean /llms.txt + /llms-full.txt raised my AEO baseline more than any traditional SEO work.

3

Lesson estimated-minutes from word count, automatically

I let writers set estMin themselves. They lied. Compute it from word count at build time and you get accurate "20 minutes" labels people trust.

4

CC-BY license on commit #1

The license is the moat. Open content compounds. I added it on commit #57. Add it on commit #1.

Part 5

Adapt This for YOUR Academy

The architecture (ladder → schema → engine → first track → ladder UI → SEO) is the template for any expert-led content business. Five adaptations off the same skeleton:

Domain Free Anchor Paid Yes Rung High-Ticket Rung
Software architecturePattern walkthroughsSkool review forumMaven 6-week cohort
Nonprofit fundraisingDonor-letter teardownsSkool member libraryMaven CDO accelerator
Sales leadershipPipeline math articlesSkool deal reviewsMaven VP-Sales cohort
PE / VC opsPlaybook briefsSkool LP lettersMaven IC chair cohort
AI for HRPortLev Academy tracksLeverage Lab on SkoolCHRO AI Cohort on Maven
Part 6

Starter Prompts for Claude / Cursor

If you want your academy live next month, these four prompts get you there.

PROMPT 1Value ladder

"Help me design a 5-rung value ladder for [MY EXPERTISE] aimed at [MY ICP]. For each rung produce: (a) platform recommendation (avoid building anything Skool/Maven/beehiiv/Substack already do), (b) price band, (c) the qualifier from the rung below, (d) one sentence on what the buyer experiences. Apply the principle: gate transformation, not information. Return as a markdown table."

PROMPT 2Zod content schema

"Write lib/schemas.js for a Next.js 15 + MDX learning site. Required fields per lesson: title (max 70), summary (max 160), track, order (int positive), level (beginner/intermediate/advanced), status (draft/published), estMin (int positive), youtube (optional URL), gated (bool default false), gateReason (enum: live-time/asset/accountability/early-access; required if gated=true). Add a track-level schema in track.json with title, summary, level, order, prerequisites array of track slugs. Validate at build time; failed validation must fail the build."

PROMPT 3Ladder-aware NextStep

"Build a custom MDX component <NextStep rung={n}> that renders a CTA card. Rung 1 = subscribe to newsletter (beehiiv embed). Rung 2 = join free Skool community (deep link). Rung 3 = join paid Leverage Lab (Skool paid tier). Rung 4 = apply to Maven cohort (Maven course URL). Rung 5 = book consult (Cal.com URL). Auto-pick rung from lesson.level if not provided. Track click events via Plausible with rung as a prop."

PROMPT 4llms.txt + schema.org

"Generate /llms.txt and /llms-full.txt for a Next.js MDX content site. llms.txt: a curated markdown summary of the site's tracks, lessons and briefs, with absolute URLs, in the format recommended at llmstxt.org. llms-full.txt: every published lesson's full markdown concatenated with H1 separators. Add JSON-LD per lesson: Course + LearningResource + BreadcrumbList. Emit sitemap.xml from the same content index."

What PortLev Academy Is Not

It is not an LMS. It does not host video. It does not run a forum. It does not gate content behind login. It does not replace Skool, Maven or beehiiv — it is the indexable, citable, free top-of-funnel that feeds them.

What it is: a ladder mouth. Free content in, qualified buyers out. Open-source under CC-BY so the corpus compounds and so AI engines cite it. The narrowness is the point. Sites that try to be both content engine and LMS become Notion-with-a-paywall and stop growing.

The question is not
"do I need a course platform?"

The question is:

"What can I give away that my buyers would already pay for, knowing the next rung is what they really need?"

If you can answer that in one sentence, your academy already has a track outline. The next three weeks are getting it indexed.

This walkthrough is part of the Portfolio Leverage Co. Build Bench series. For the cohort where we build these together, apply here.