Een platform voor online cursussen bouwen: lessen, video, betalingen en voortgang
Om een platform voor online cursussen te bouwen heb je een catalogus en verkooppagina per cursus nodig, lessen georganiseerd in modules, een veilige plek voor video, betalingen die toegang openen, en een manier waarop cursisten hun voortgang bijhouden. Een AI-appbouwer kan de pagina's, database en logica maken op basis van een beschrijving; jij koppelt een betaalprovider en een videohost. Het belangrijkste detail is toegangscontrole: elke les moet op de server controleren of de cursist heeft betaald, niet alleen de link verbergen.
Wat een cursusplatform nodig heeft
Begin met een lijst van wie het gebruikt en wat elke persoon doet.
| Wie | Wat ze nodig hebben |
|---|---|
| Bezoeker | Cursussen bekijken, een verkooppagina lezen met leerplan, prijs en proefles, kopen |
| Cursist | Inloggen, “mijn cursussen” zien, lessen in volgorde bekijken, als voltooid markeren, verdergaan waar ze gebleven waren |
| Docent / jij | Cursussen, modules en lessen aanmaken, video's uploaden of koppelen, prijzen instellen, zien wie zich heeft ingeschreven |
En de gegevens daarachter:
| Gegevens | Belangrijkste velden |
|---|---|
| Cursus | Titel, omschrijving, prijs, omslagafbeelding, gepubliceerd of concept |
| Module | Cursus, titel, volgorde |
| Les | Module, titel, volgorde, videoverwijzing, tekstnotities, bijlagen, vlag voor gratis proefles |
| Cursist | Account, naam, e-mail |
| Inschrijving | Cursist, cursus, hoe ze toegang kregen (aankoop, couponcode, handmatig), datum |
| Voortgang | Cursist, les, voltooid, laatste positie |
Optionele functies, ongeveer in de volgorde waarin mensen ze toevoegen: downloadbare bronnen, quizzen, certificaten van voltooiing, reacties of een discussiegedeelte, gefaseerde vrijgave (elke week een module vrijgeven), couponcodes, bundels en abonnementen.
Beslissingen vóór je bouwt
Waar de video staat
Video is het onderdeel dat het makkelijkst verkeerd gaat. Videobestanden zijn groot, moeten op verschillende kwaliteiten streamen bij verschillende verbindingen, en zijn wat mensen het liefst kopiëren. Ruwe videobestanden opslaan in de algemene bestandsopslag van je app en ze zelf serveren is meestal een slechte keuze: het is traag bij zwakke verbindingen en de bandbreedtekosten stijgen met elke weergave.
| Optie | Geschikt voor | Let op |
|---|---|---|
| Gespecialiseerde videohost met privacy-instellingen (Vimeo, Mux, Bunny Stream, Cloudflare Stream en vergelijkbare) | Betaalde cursussen | Elk heeft een eigen prijsmodel; vergelijk opslag, afgeleverde minuten en functies op hun sites |
| Niet-vermelde YouTube-video's | Gratis cursussen, lokmiddelen | Niet-vermeld is niet privé: iedereen met de link kan kijken en delen |
| Bestanden in je eigen opslag | Korte clips, downloadbare pdf's en audio | Bandbreedtekosten en geen adaptieve streaming |
Welke host je ook kiest, zoek naar de mogelijkheid om afspelen te beperken tot je domein of kortstondige afspeellinks uit te geven. Dat voorkomt dat een gekopieerde embedcode werkt op de site van iemand anders.
Hoe mensen betalen
- Eenmalige aankoop per cursus. Het eenvoudigst. Een checkoutpagina via een betaalprovider zoals Stripe, daarna levenslange toegang.
- Abonnement voor alle cursussen. Beter als je regelmatig publiceert. Je moet ook toegang intrekken wanneer een abonnement eindigt. Onze gids over het bouwen van een ledensite beschrijft abonnementsbeveiliging in detail.
- Gratis cursus met betaalde upgrades. Goed om eerst een publiek op te bouwen.
Denk ook aan belasting. Veel landen belasten digitale producten die aan consumenten worden verkocht, soms op basis van waar de koper woont. Betaalproviders bieden hulpmiddelen om dat te berekenen, en sommige diensten treden op als “merchant of record” en regelen de belasting voor je. Laat je verplichtingen controleren door een accountant voordat je internationaal gaat verkopen.
Hoe toegang wordt vrijgegeven
Na een geslaagde betaling stuurt de betaalprovider een bericht naar je server (een webhook) met wie wat heeft betaald. Je server maakt dan de inschrijvingsregistratie aan. Geef toegang niet vrij alleen omdat de cursist op een “bedankt”-pagina terechtkomt, want die pagina kan worden bezocht zonder te betalen.
Stap voor stap bouwen
Stap 1: Begin met één cursus en zonder betalingen
Bouw eerst de cursistervaring, met één echte cursus en een paar lessen. Als kijken naar en afronden van lessen niet prettig is, lossen betalingen dat niet op.
Bouw een site voor online cursussen voor Sketch Daily, een tekencursus voor beginners. Een startpagina met cursussen, en een cursuspagina met omschrijving, leerplan per module, prijs en één gratis proefles. Ingelogde cursisten zien “Mijn cursussen”, en een lespagina met een ingesloten video, notities eronder, een knop “Markeer als voltooid” en vorige/volgende-knoppen, met een voortgangsbalk per cursus. Sla cursussen, modules, lessen, inschrijvingen en voortgang op in een database. Voeg een beheerruimte toe waar ik cursussen kan aanmaken, lessen kan herordenen en per les een videolink kan plakken. Rustig, helder ontwerp dat werkt op telefoons.
Stap 2: Voeg accounts toe
Cursisten moeten inloggen zodat hun voortgang en aankopen bij hen blijven. E-mail en wachtwoord is het gebruikelijke begin; inloggen met een “magische link” per e-mail is prettiger voor mensen die wachtwoorden vergeten. Zie hoe je inloggen aan je app toevoegt.
Stap 3: Vergrendel de lessen op de server
Vraag om bij elke lespagina en elk lesverzoek op de server te controleren dat de ingelogde cursist is ingeschreven voor die cursus (of dat de les als gratis proefles is gemarkeerd). Test het dan: log in als cursist die niet is ingeschreven en plak een lesurl rechtstreeks in de browser. Je moet een bericht “koop deze cursus” zien, niet de les.
Stap 4: Koppel betalingen
Maak een account bij een betaalprovider, gebruik eerst de testmodus en sla de geheime sleutel op als omgevingsvariabele. Vraag om een afrekenknop op elke cursuspagina en een webhook-eindpunt dat de inschrijving aanmaakt wanneer de betaling slaagt. Test met de testkaarten van de provider, inclusief een mislukte betaling. Hoe je betalingen aan je app toevoegt loopt het stap voor stap door.
Stap 5: Voeg de e-mails toe
Minimaal: een ontvangstbewijs met een link naar de cursus, en wachtwoord resetten. Later een herinnering voor cursisten die al een tijd niet hebben ingelogd. E-mail vraagt om een verzendprovider en een geverifieerd domein.
Stap 6: Test als drie verschillende mensen
Doorloop het platform vóór de lancering als bezoeker (begrijp ik wat ik koop?), als nieuwe cursist (kan ik betalen, inloggen en les één binnen twee minuten starten?) en als jezelf als docent (kan ik een les toevoegen zonder hulp te vragen?).
Veelgemaakte fouten
- Lessen alleen in de interface verbergen. Als de lesgegevens kunnen worden opgehaald zonder een inschrijvingscontrole op de server, kan iedereen ze krijgen.
- Grote videobestanden zelf serveren. Traag voor cursisten en duur voor jou.
- Quizzen, certificaten en community bouwen voordat iemand heeft gekocht. Verkoop eerst één cursus.
- Geen proefles. Mensen willen je stem horen en je manier van lesgeven zien voordat ze betalen.
- Terugbetalingen en opgezegde abonnementen vergeten. Bepaal wat er met de toegang gebeurt bij beide, en bouw dat.
- Geen manier om de toegang van een cursist met de hand te repareren. Je hebt een beheerhandeling nodig om toegang te geven of in te trekken voor supportverzoeken.
Wat het kost
De doorlopende kosten zijn hosting en een database voor de app, een videohost (geprijsd door de host, vaak op opslag en weergaven), betalingskosten per verkoop, een e-mailprovider en een domein. Gehoste cursusplatforms bundelen het meeste hiervan in een maandabonnement, soms met transactiekosten bij lagere niveaus. Vergelijk het totaal, inclusief je eigen tijd voor onderhoud, voordat je beslist. We noemen hier geen leveranciersprijzen omdat die veranderen; controleer de prijspagina van elke leverancier.
Wanneer een kant-en-klaar product beter is
Gehoste cursusplatforms zoals Teachable, Thinkific, Kajabi en Podia zijn gemaakt om video, afrekenen, cursistaccounts en e-mails op één plek af te handelen, en sommige helpen ook met omzetbelasting; controleer de actuele functies van elk. Ze zijn meestal de betere keuze wanneer:
- Je een standaard videocursus verkoopt en deze week wilt lanceren
- Je helemaal geen software wilt onderhouden
- Je ingebouwde marketingfuncties wilt, zoals e-mailreeksen en verkooptrechters
Zelf bouwen is zinvol wanneer de leerervaring zelf het product is (interactieve oefeningen, een eigen oefentool, cohortfuncties), wanneer je volledige controle over huisstijl en data wilt, of wanneer de platformkosten bij jouw volume hoger zijn dan de kosten van je eigen platform draaien. Een middenweg is valideren op een gehost platform en daarna bouwen zodra je precies weet wat er ontbreekt.
Bouwen met Mythex
Mythex is een AI-appbouwer: je beschrijft de cursussite, en het bouwt de pagina's, het beheergedeelte en de database in een live preview, en publiceert die op een openbare URL. Er wordt een database aan het project toegevoegd wanneer je app cursussen en voortgang moet opslaan, en bestandsopslag voor uploads zoals pdf's en afbeeldingen. Mythex bevat geen ingebouwde videohosting, cursistinlog of cursusbetalingen als kant-en-klaar product: je kiest een videohost, voegt inloggen voor de app toe met een auth-bibliotheek of provider, en koppelt je eigen Stripe-account met sleutels die als projectgeheimen worden bewaard. De documentatie beschrijft Stripe-betalingen, inloggen voor de gebruikers van je app en webhooks verwerken.
Voor een snellere start kun je de sjabloon voor een cursuslandingspagina proberen voor de verkooppagina, of de sjabloon voor een cursusstorefront voor een catalogus. Als je cursus onderdeel is van een grotere productidee, behandelt hoe je een SaaS-MVP bouwt wat je uit een eerste versie laat.
Veelgestelde vragen
Waar moet ik cursusvideo's hosten?
Gebruik een videohostingdienst die daarvoor is gemaakt in plaats van videobestanden in je app op te slaan. Gespecialiseerde hosts regelen streamingkwaliteit, verschillende apparaten en domeinbeperkingen, en de meeste bieden privacy-instellingen zodat video's alleen op jouw site afspelen.
Kan ik niet-vermelde YouTube-video's gebruiken voor een betaalde cursus?
Dat kan, maar niet-vermeld is niet privé: iedereen met de link kan kijken en delen. Voor betaalde content beschermt een host met domeinbeveiliging of ondertekende afspeellinks je werk beter.
Hoe krijgen cursisten toegang nadat ze hebben betaald?
De betaalprovider vertelt je server dat de betaling is gelukt, meestal via een webhook, en je server legt vast dat de cursist de cursus bezit. Elke lespagina controleert die registratie vervolgens op de server voordat de inhoud wordt getoond.
Moet ik een eigen cursusplatform bouwen of Teachable of Kajabi gebruiken?
Gebruik een gehoste cursusplatform als je een standaard videocursus wilt verkopen met de minste opzet en onderhoud. Bouw zelf wanneer je een specifieke leerervaring nodig hebt, je eigen huisstijl overal wilt toepassen, of functies die die platforms niet bieden.