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
What I can do for you
The first one is worth more than it costs, because the account structure decides everything that follows it.
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.
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.
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.
Ongoing maintenance
Reserved time for plugin updates, new courses, seat and enrolment changes, and the reporting requests that arrive every term.
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.
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.
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
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.