NIKOLA

The person paying is usually not the person learning

Every course plugin assumes one account, one learner, one card. Then a parent enrols two children, a company buys forty seats, and an employer needs a report on who finished. That gap is where most LMS projects go wrong, and it is where most of my work on them has been.

YOU ARE PROBABLY HERE BECAUSE

  • parents want one account and separate profiles per child
  • a company wants to buy seats and assign them
  • learners lost their progress in a move
6 projects across LMS and membershipRegulated credentialing under HIPAALongest live 8 years and counting

What I can do for you

The first one is worth more than it costs, because the account structure decides everything that follows it.

FIXED · 2–4 DAYS

Architecture session

Who pays, who learns, who reports — worked out properly and written down, with a platform recommendation and the reasoning. Often ends with me telling you LearnDash configured well is enough.

FIXED · 6 WEEKS TO 4 MONTHS

Platform build

Course delivery with the account structure your business actually has: parent and child profiles, company seat pools, instructor cohorts, access that follows billing state, and reporting for whoever paid.

FIXED, AFTER DISCOVERY

Migration with progress intact

Courses, learners, completions, quiz attempts and issued certificates moved without learners landing back at lesson one. Verified against real accounts before cutover.

MONTHLY RETAINER

Ongoing maintenance

Reserved time for plugin updates, new courses, seat and enrolment changes, and the reporting requests that arrive every term.

Book a consultation

Forty-five minutes, no charge.
I will tell you which of these you need, including when it is the cheapest one.

Who holds the account, who does the course, who pays

Most plugins collapse these into one person. Real customers rarely do. Getting this structure right at the start decides whether the next two years are pleasant.

01 · INDIVIDUAL Learner pays and studies The only case plugins handle out of the box. 02 · PARENT AND CHILDREN Parent holds the subscription child child child Separate progress, separate logins, one card on file. 03 · COMPANY SEATS Employer buys 40 seats seat pool · 28 assigned Employees. The employer never takes the course but wants the completion report. 04 · COHORT Instructor grades and reviews cohort · enrolled by others Someone has to see the work, mark it and reply to it. pays learns — when these are different people, the plugin defaults stop being useful
Decide this before choosing a plugin, not after. Retro-fitting parent-and-child accounts or company seats onto a platform that assumed one learner per payment is the single most expensive rework in this category.

Platforms, and when each is right

The platform matters less than the account structure, but it matters. Most projects end up as a course platform plus a commerce layer, and the seam between them is where the bugs live.

MOST COMMON ON WORDPRESS

LearnDash

The default choice for course delivery inside WordPress, and a reasonable one. Courses, lessons, topics, quizzes and drip scheduling out of the box, with groups for cohorts.

  • Course and lesson structure
  • Quizzes and question banks
  • Drip and prerequisites
  • Groups for cohorts and seats
  • Certificates on completion
WHEN EDUCATION IS THE BUSINESS

Moodle

A proper academic LMS rather than a WordPress plugin. The right answer when you need gradebooks, real assessment tooling and standards compliance — and usually paired with WordPress for the public site and the buying.

  • Gradebooks and rubrics
  • SCORM and xAPI
  • Institutional roles and cohorts
  • Single sign-on with the website
  • Enrolment driven from WooCommerce
THE COMMERCE LAYER

WooCommerce Subscriptions

Where courses are sold on a recurring basis, or bundled with anything physical. Gives you real products, coupons, reporting and a checkout your finance team recognises.

  • Recurring access to a course library
  • Seat quantities as product quantity
  • Upgrades between tiers
  • Coupons and trials
  • Access tied to billing state
THE MEMBERSHIP LAYER

Paid Memberships Pro

Lighter than WooCommerce and often enough. Good where the product is access rather than goods, and where you do not need a shop wrapped around it.

  • Levels mapped to course access
  • Content restriction rules
  • Expiry and grace periods
  • Simple recurring billing
  • Migrates to Woo when outgrown

What these builds actually involve

The course content is the client's job. Everything below is mine.

Account hierarchiesparent, company, instructor

Parents enrolling and switching between children. Companies buying a pool of seats, assigning and reclaiming them as staff change. Instructors seeing only their own cohort. Each of these is a permissions model, not a feature, and it has to be decided before anything is built on top.

Access that follows billingthe state nobody plans for

Active, cancelled but paid to the end of the term, in grace after a failed payment, on hold, expired, refunded. Every one needs a defined answer for what the learner can still see, and most platforms handle two of them well.

Assessment and progressquizzes, submissions, review

Quiz engines, attempt limits, pass marks and retakes. Where work is submitted rather than answered — uploaded drawings, written pieces — someone has to see it, review it and reply, which means an instructor interface as well as a learner one.

Credentialingcertificates that matter

A certificate that decorates a wall is a template. A document a professional submits to keep their licence is a different artefact — it needs verifiable issuance, a record that survives, and rules about who can earn it. I have built the second kind.

Credits and walletswhen a subscription is the wrong shape

Buy credit, spend it per course, per exam or per unit. Suits professional education where people take one thing occasionally rather than subscribing, and it needs a ledger that reconciles against the payment gateway.

SCORM and standardsimported course packages

Where content is authored elsewhere and delivered here, tracking has to work properly or completion data is fiction. Also relevant when a client wants their material portable to another platform later.

Reportingfor whoever paid

The employer wants to know who finished. The parent wants to know what their child did this month. The compliance officer wants a record. Three different reports, three different audiences, none of them the learner.

Migrationsoff a platform you have outgrown

Courses, learners, progress, completions and certificates moved without losing history — while people are mid-course. Progress data is the part that gets dropped, and it is the part learners notice immediately. More on migrations →

What tends to go wrong

FAILURE MODE

Access and billing disagree

A cancelled subscription still granting course access, or a paid member locked out after a failed renewal that later succeeded. The LMS and the commerce plugin each hold a version of the truth.

FAILURE MODE

One account, several learners

Families sharing a login because the platform never offered child accounts. Progress becomes meaningless, certificates go to the wrong person, and you cannot tell how many people you actually serve.

FAILURE MODE

Seats that cannot be reassigned

A company buys forty seats, an employee leaves, and there is no way to reclaim the seat without deleting a record somebody needs for compliance.

FAILURE MODE

Progress lost in a migration

Learners land on the new platform back at lesson one. Technically the courses moved; practically you have just told several hundred people their work is gone.

FAILURE MODE

Quiz results that do not hold up

Attempts not recorded, timers that reset on refresh, answers visible in the page source. Fine for a hobby course. Not fine when a certificate depends on the result.

FAILURE MODE

Slow once the content grows

Course pages that query every lesson and every completion on load. Fine at fifty learners, unusable at five thousand, and the fix is architectural rather than a caching plugin.

Where this has been done

The ObG Project

Credentialing for medical professionals. Clinicians buy credit into a wallet, complete an assessment, and the system issues the document they submit to renew their specialisation. A document with professional consequences, issued by software I wrote, under HIPAA constraints and on WordPress multisite.

Credentialing · wallet
HIPAA · SCORM · multisite
2017 — 2018

Sparketh

Art school for children. Parents open and hold the account, children log in separately, take classes, watch videos and upload their work for review. I fixed the old platform then rebuilt the new one from scratch, including the move off Paid Memberships Pro.

Parent and child accounts
video · submissions · review
2025 — 2026

Bit Space Chicago

LMS and ecommerce for a children's technology camp. Parents log in, enrol their children and manage their places. Taken to around eighty percent before handover.

Enrolment · ecommerce
parent accounts
2018

DNAcademy

Domain trading school — a full LMS behind a subscription. Buy access, log in, work through the curriculum.

LMS · subscription
via Web X.0

aimacademy.online

Subscription education platform with gated features. Migrated to a new theme, upgraded, and worked through a long list of faults the owners had been living with.

Theme migration · repair
gated subscription

iSixSigma

Professional magazine with a community and an extensive gated area on BuddyPress. Rebuilt and redesigned with a new theme written from scratch.

Membership · community
BuddyPress · gated content
2018 — 2019

What this does not include

Writing your course

Instructional design, curriculum and content are yours. I build the thing that delivers them and I will tell you where the platform constrains what you had in mind.

Video production or hosting

I integrate whatever you use — Vimeo, Bunny, YouTube, S3 — and handle the access control around it. I do not shoot or edit.

Accreditation itself

Whether your certificate carries weight is between you and the accrediting body. I build the system that issues and records it defensibly.

Talking you into custom

If LearnDash configured properly does what you need, that is the answer and it costs you far less. Custom work is for the parts that genuinely do not fit.

Questions I get asked

Can parents have one account with separate profiles for each child?

Yes, and it is worth building properly rather than working around. The parent holds the subscription and the payment method; each child gets their own login, their own progress and their own certificates. The parent needs a view across all of them and the ability to switch. Sparketh works exactly this way.

Can a company buy seats and assign them to employees?

Yes. The mechanics that matter are reclaiming a seat when someone leaves without destroying their completion record, letting a manager see progress across the team, and handling the renewal when the headcount has changed. Seat pools are straightforward; the lifecycle around them is where the work is.

LearnDash or Moodle?

If courses are part of a wider WordPress site and the assessment needs are moderate, LearnDash. If education is the business and you need gradebooks, real assessment tooling or institutional roles, Moodle — usually with WordPress in front for the public site and the purchase, connected by single sign-on. Running Moodle when LearnDash would do is a lot of infrastructure for no gain.

Should the membership layer be WooCommerce Subscriptions or Paid Memberships Pro?

If you are only selling access, Paid Memberships Pro is lighter and adequate. If you sell anything alongside the courses, need coupons and proper reporting, or want seat quantities to behave like product quantities, WooCommerce Subscriptions is the better home. Plenty of sites start on the first and move to the second, and I do that migration regularly.

Can you migrate our courses and keep everyone's progress?

Usually yes, and progress is the part to insist on. Courses and learners move easily; completions, quiz attempts and issued certificates are what get dropped by a careless migration, and learners notice immediately. It needs mapping before anything moves and verifying afterwards against a sample of real accounts.

Our certificates need to count for professional accreditation.

Then the system needs to be defensible, not just functional — verifiable issuance, an audit trail, rules about who can earn one, and a record that survives platform changes. I built exactly this at The ObG Project, where the document allowed clinicians to renew their specialisation, and the constraints shaped the whole build rather than being added at the end.

Tell me who pays and who learns

If those are different people, say so on the call — it is the answer that shapes everything else about the build.

Book a consultation