• Running a course business on Teachable or Thinkific and hitting the walls on custom branding, pricing models, or the learner experience you actually want to deliver?

  • Selling courses but your platform takes 5-10% of every transaction and still doesn't give you the data and learner analytics your business needs?

Online Course Platform Development

Custom online course platforms built for creators, ed-startups, and organisations that have outgrown off-the-shelf tools -- with the course authoring, video delivery, payments, and learner analytics your business actually needs.

100+ products shipped since 2019. We build online course platforms for course creators and organisations who need full control over their learner experience, pricing model, and data.

  • Course authoring with video lessons, quizzes, assignments, and downloadable resources

  • Stripe payments for one-time, subscription, and payment plan models -- no platform transaction fee

  • Automated certificate generation, credential management, and LinkedIn sharing

  • Instructor dashboards with enrolment numbers, completion rates, and revenue analytics

RaftLabs builds custom online course platforms for course creators, ed-startups, and organisations publishing learning content at scale. Online course platform development covers course authoring tools, adaptive bitrate video hosting, learner enrolment and progress tracking, payment and subscription handling via Stripe, certificate generation, instructor dashboards, community features, and white-label delivery. Custom platforms make sense when off-the-shelf tools like Teachable, Thinkific, or Kajabi impose transaction fees, limit your pricing models, or constrain the learner experience you need. Most online course platform projects deliver in 10--14 weeks at a fixed cost with full source code ownership.

Vodafone
Aldi
Nike
Microsoft
Heineken
Cisco
Calorgas
Energia Rewards
GE
Bank of America
T-Mobile
Valero
Techstars
East Ventures
Products shipped since 2019
100+
Compatible
SCORM
Cost delivery
Fixed
Week delivery
10-14

Off-the-shelf course platforms are built for the average creator. At some point, average stops working for your business.

Teachable, Thinkific, and Kajabi solve the first problem: getting a course live fast. They stop solving problems the moment you need custom pricing structures, a learner experience that reflects your brand, analytics beyond completion rates, or a business model that doesn't hand 5--10% of revenue to a third-party platform.

Custom online course platform development builds the platform around your content, your pricing model, and your learner experience -- with no per-transaction fee, no branding constraints, and no ceiling on what the platform can do.

What we build

Course authoring and content management

Video lesson upload and streaming with adaptive bitrate (ABR) delivery via Mux or Wistia -- both transcode uploaded source files into multiple quality renditions (1080p, 720p, 480p, 360p) and deliver via HLS (HTTP Live Streaming) so each learner's player automatically selects the rendition that matches their available bandwidth. Learners on a 3G connection get continuous playback at lower resolution; learners on broadband get the full-quality rendition without buffering delays.

Video transcription using AWS Transcribe or Deepgram generates accurate time-coded captions automatically on upload. Transcripts are indexed for search so learners can find specific content by keyword within a lesson, and captions are served as WebVTT files for WCAG 2.1 AA accessibility compliance. Chapter markers with thumbnail previews let learners navigate directly to the section they need. SCORM 1.2 and SCORM 2004 content package import accepts content authored in Articulate Storyline, Adobe Captivate, or any SCORM-compliant authoring tool, embedding the interactive content within the course player. Quiz and assessment builder supports multiple-choice, true/false, short-answer, and matching question types at the lesson, module, and course level. Content drip scheduling releases lessons on a fixed calendar schedule or after a defined number of days since enrolment. Bulk content import from another platform handles video migration, quiz data, and learner progress records as part of a platform switch project.

Learner enrolment and progress tracking

Self-enrolment for open courses and cohort-based enrolment for live cohort programmes with fixed start dates and capacity limits. Individual progress tracking per lesson and module shows each learner exactly where they are in each course and what remains to complete. Progress data is stored via xAPI (Experience API, also known as Tin Can) learning records to a Learning Record Store (LRS), giving organisations a portable, standards-compliant record of learner activity that can be queried across platforms and integrated with corporate HR or LMS systems using the LRS REST API.

LTI 1.3 (Learning Tools Interoperability) integration allows third-party tools -- interactive simulations, virtual labs, plagiarism checkers, proctoring services -- to be embedded directly within course content and pass completion and grade data back to the platform without the learner leaving the course environment. LTI 1.3 replaces LTI 1.1 with a more secure OAuth 2.0 and JSON Web Token (JWT) authentication flow. Resumable video position saves exactly where a learner stopped, synced across devices, so a learner who watches 40% of a lesson on mobile can resume at the same point on desktop. Completion certificates fire automatically on course completion with no manual admin trigger. The learner dashboard provides a clear view of active courses, progress percentages, and earned credentials with download and share links.

Payments and monetisation

Stripe integration handles one-time course purchases, recurring subscription access via Stripe Billing with configurable billing intervals, and payment plan models (for example, three monthly instalments for a $900 course) -- all without a platform transaction fee on top of Stripe's processing cost. PayPal is integrated as an alternative checkout method for markets where it is the preferred payment instrument.

Promo code engine supports percentage-off and fixed-amount discount codes, expiry dates, redemption limits, and single-use codes generated in bulk for affiliate or launch campaigns. Affiliate tracking uses UTM parameter ingestion at landing page entry with server-side session storage, tying each conversion to its originating traffic source. Conversion attribution reports show which channels, campaigns, and affiliates are generating paid enrolments, not just traffic. Course completion webhooks fire to Zapier, Make (formerly Integromat), or custom endpoints when a learner completes a course, enabling post-completion automations -- CRM record updates, certificate dispatch emails, cohort community invitations, or upsell sequence triggers. Course bundles group multiple courses at a single price point, with individual course access unlocked automatically on bundle purchase. Revenue reporting per course and per instructor shows gross revenue, refunds, net collected, and instructor payout owed. Refund handling is managed through the admin panel without requiring manual Stripe dashboard access.

Instructor and creator tools

Instructor dashboard shows enrolment numbers, module completion rates, assessment performance, quiz score distributions, video engagement drop-off points, and revenue analytics in one place -- giving course creators the data to identify which lessons are losing learners and which assessments are too easy or too hard. Multi-instructor support with configurable revenue sharing splits handles marketplace models, co-authored courses, and affiliate instructor arrangements, with payout calculation automated against recorded sales.

Multilingual content delivery with locale-based routing serves course content, UI labels, and notification emails in the learner's language. Content localisation workflows let instructors upload translated video files, subtitle tracks, and resource documents per locale without rebuilding the course structure. Locale routing selects the correct content variant automatically from the learner's browser locale or explicit language selection. Discussion thread management lets instructors respond to learner questions without leaving the platform, with thread notifications delivering via email or in-platform alert. Student Q&A moderation tools allow pinning the most useful answers, marking questions as resolved, and filtering by unanswered threads so instructors address the highest-value questions first. Bulk announcement and email tools let instructors reach their full enrolled cohort or a segment of it without requiring a separate email marketing tool.

Certificate and credential management

Automated certificate generation fires on course completion with no manual admin work. Custom certificate design carries your branding, course name, completion date, instructor signature, and a unique verification code that links to a public verification page. For professional certifications that need to be independently verifiable by employers, universities, or licensing bodies, blockchain-anchored credentials use the Blockcerts open standard to issue a cryptographically signed JSON-LD credential anchored to a public blockchain (Ethereum or Bitcoin Blockchain). The issuer, recipient, award, and issue date are permanently and tamper-evidently recorded. Anyone with the credential file can verify it independently without contacting the issuing platform.

Shareable LinkedIn credential links use the LinkedIn Add to Profile deep-link format so learners can add their completion to the Licenses and Certifications section of their LinkedIn profile with two taps, extending your brand reach to every learner's professional network. Credential expiry and renewal workflows handle certifications with time-limited validity -- the platform sends renewal reminders before expiry and re-issues a new credential when the renewal course or assessment is completed. Bulk certificate generation for cohort completions issues credentials to all qualifying learners at the cohort close date without manual processing per learner. All credential issuance events are logged with timestamps and learner identifiers for audit purposes.

Community and engagement features

Course-specific discussion forums and Q&A threads per lesson give learners a place to ask questions and connect with peers without leaving the platform. Thread visibility can be scoped to the enrolled cohort or open to all platform learners, depending on your community model. For live cohort programmes where community happens off-platform, Slack workspace provisioning via the Slack API automatically adds learners to the cohort workspace and the correct channels on enrolment, and removes them on cohort close or course access expiry.

Peer assignment review workflows route completed assignments to two or three other enrolled learners for structured feedback based on a rubric defined by the instructor, with reviewer assignments managed automatically by the platform so the instructor does not coordinate manually. Live session scheduling for cohort courses integrates with Google Calendar and Outlook Calendar via their respective APIs -- session events with Zoom or Google Meet links are pushed to enrolled learners' calendars on creation, and reminder notifications fire 24 hours and 1 hour before each session. Re-engagement workflows trigger automated notifications to learners who have not accessed the platform in a defined number of days, with personalised messages referencing the specific lesson or module they left incomplete. The engagement data -- login frequency, content completion rate, community post count, and assignment submission rate -- feeds the instructor dashboard so instructors can identify at-risk learners and reach out before they drop off entirely.

Frequently asked questions

Off-the-shelf platforms make sense at the start: low setup cost, fast to launch, and enough features to validate your course business. Custom development makes sense when: (1) Transaction fees at your revenue volume cost more per year than a custom build would -- Teachable's Pro plan charges 0% transaction fees but the platform fee still applies, and at $500,000 per year in course sales even a 2% effective fee represents $10,000 annually in platform cost that a custom Stripe integration eliminates. (2) Your pricing model -- complex bundles, multi-tiered subscriptions, B2B site licences with per-seat pricing, or payment plans -- doesn't fit what the platform supports. (3) You need white-label delivery with your own domain, branding, and no third-party platform name or branding visible to learners. (4) You need learner analytics beyond the completion rates and quiz scores the platform exposes -- xAPI/LRS data, video drop-off analysis, or correlation between learning behaviour and business outcomes. (5) You need SCORM or xAPI compatibility for enterprise clients who require content to run in their own LMS. (6) You're building a marketplace or multi-instructor platform where the standard revenue-sharing, permission model, or tenant isolation that generic platforms offer doesn't fit your business model. We scope every project and tell you honestly whether a custom build is justified at your current stage.

Yes. White-label and multi-tenant course platform development is one of the more common patterns we build. A white-label platform lets multiple instructors or organisations each have their own branded environment -- separate custom domain (instructor.com or learning.company.com), separate visual branding, separate learner base -- all running on one codebase and shared infrastructure. Each tenant manages their own courses, learners, and pricing independently; they cannot see other tenants' data. Row-level security in the database enforces tenant isolation, and subdomain routing maps each custom domain to the correct tenant context.

Revenue sharing and commission structures are configurable per tenant -- the platform operator takes a defined percentage of each tenant's course sales, calculated automatically from Stripe Connect transactions and displayed in the platform-level revenue dashboard. Stripe Connect is the standard integration for this pattern because it handles multi-party payouts natively: the platform operator receives the full payment and Stripe transfers the instructor's share automatically on the configured payout schedule, with 1099-K tax forms generated by Stripe for instructors above the reporting threshold. This is the right architecture for an ed-marketplace, a franchise training programme, a corporate L&D platform serving multiple business units with separate branding, or a SaaS course platform where you sell platform access to instructors rather than selling courses directly.

We integrate with purpose-built video hosting APIs rather than building video infrastructure from scratch. Mux is the preferred integration for most custom platforms: the Mux Video API accepts an upload URL or a source file, transcodes it automatically into multiple HLS renditions, stores all renditions in Mux's globally distributed infrastructure, and serves them via a signed playback URL with token-based access control so only enrolled learners can stream the video. Wistia is an alternative for creators who prioritise per-video analytics (heat maps, individual viewer tracking) over raw infrastructure cost. Both platforms support signed URLs with configurable expiry, preventing learners from sharing direct video links outside the platform.

For very large existing course libraries being migrated from Teachable, Kajabi, Vimeo OTT, or another platform, we handle bulk video migration by ingesting the source platform's export format, uploading files to the target video host via their bulk upload API, and re-linking the new playback URLs within the migrated course structure. Transcription of existing video libraries uses the AWS Transcribe batch transcription API or Deepgram's batch API, processing the full library in parallel to generate VTT caption files without manual transcription work. Chapter markers, progress tracking, resumable position, and playback speed controls are built in the video player component on top of the hosting service's player API or a custom HLS.js-based implementation.

A focused custom course platform -- course authoring, HLS video hosting integration via Mux or Cloudflare Stream, learner progress tracking with xAPI/LRS recording, Stripe payments with one-time and subscription billing, and automated certificate generation -- typically runs $20,000 to $50,000 at a fixed cost. This scope delivers a production-ready platform with no transaction fees and full source code ownership.

A full-featured platform adding multi-instructor support with Stripe Connect revenue sharing, LTI 1.3 tool integrations, SCORM 1.2/2004 content import, community forums, white-label multi-tenancy with custom domain routing, an affiliate tracking and attribution system, and mobile app delivery for iOS and Android typically runs $50,000 to $120,000. Cost is driven primarily by the number of content types supported (video, SCORM, assessments, live sessions, peer review), payment model complexity (subscriptions, payment plans, B2B site licences), multi-tenancy architecture requirements, and whether native mobile apps are in scope alongside the web platform. We scope every project before pricing it, and fixed cost is confirmed before any development starts.

What clients say

What our clients say

Three-year average engagement. Founders and operators describing the work in their own words. No marketing varnish.

Jennyfer Ngueno
Jennyfer Ngueno
Ivory Coast
CoFounder and CEO, Sekou

RaftLabs has been an exceptional partner. From the start, they became more than just a service provider, they embraced our vision with their expertise and dedication.

01 / 02

Related services

  • Custom Software Development -- Custom LMS platforms, assessment tools, and student engagement apps built for your learning model
  • AI Agent Development -- AI-powered adaptive learning, content recommendation, and student performance prediction
  • Business Process Automation -- Automate enrolment workflows, progress reporting, certification dispatch, and parent communication

Talk to us about your online course platform.

Tell us your current platform, your learner volume, your pricing model, and what your existing tool can't do. We'll scope the right platform and give you a fixed cost.