🎓 White-label Course Engine

Build your own
course marketplace

White-label SaaS engine for launching your own online learning platform. Multi-tenant, HLS streaming, quiz engine, certificates, and analytics — launch in weeks, not months.

// Launch your course platform
client := academia.NewClient("your-api-key")

tenant, _ := client.CreateTenant(academia.Config{
    Name:   "Acme Academy",
    Domain: "learn.acme.com",
    Theme:  academia.Theme{Primary: "#7C3AED"},
})

course, _ := client.CreateCourse(academia.Course{
    Title:    "Intro to Go",
    Tenant:   tenant.ID,
    Price:    49.99,
})

fmt.Println("Live at:", tenant.URL)
// → Live at: https://learn.acme.com

Everything You Need

From video hosting to certificates, Academia covers the full course lifecycle out of the box.

🏢
Multi-Tenant

Isolated tenants with custom domains, branding, and config. Spin up thousands of learning portals on a single deployment.

🎨
White-Label

Complete branding control — custom logo, colors, domain, email templates, and certificate designs. Your brand, your platform.

📺
HLS Streaming

Adaptive bitrate HLS video packaging with CDN delivery. Auto-transcode on upload. Sub-second start times globally.

📝
Quiz Engine

Multiple-choice, true/false, free-text, and fill-in-the-blank. Automatic scoring, retry logic, and per-question analytics.

🎓
Certificates

PDF certificates on completion, signed with a per-tenant keypair. QR-verifiable and shareable on LinkedIn.

📊
Analytics

Completion rates, engagement curves, drop-off points, quiz performance, and revenue dashboards per tenant.

💳
Enrollment

Free, paid, and invite-only modes. Coupon engine, group purchases, subscription bundles, instructor revenue splits.

📦
Media Storage

S3-compatible object storage with per-tenant quotas. Automatic image resizing and video transcoding on upload.

🔌
REST API

Full OpenAPI-documented REST API. SDKs for Go, TypeScript, and Flutter. Webhooks for enrollment, completion, and payment events.

Course Authoring API

Create courses programmatically or through the admin UI. Add sections, lessons, quizzes, and drip schedules.

  • Sections, lessons, and quizzes
  • Drip-release schedules
  • Prerequisite gating
section, _ := client.CreateSection(academia.Section{
    CourseID: course.ID,
    Title:    "Getting Started",
    Order:    1,
})

lesson, _ := client.CreateLesson(academia.Lesson{
    SectionID: section.ID,
    Title:     "Hello, World!",
    VideoURL:  "s3://videos/lesson-1.mp4",
})

quiz, _ := client.CreateQuiz(academia.Quiz{
    LessonID: lesson.ID,
    PassMark: 70,
})

Enrollment & Progress

Enroll learners, track progress, and issue certificates automatically on completion.

  • Automatic certificate issuance
  • Progress tracking per lesson
  • Completion webhooks
enroll, _ := client.Enroll(academia.EnrollInput{
    CourseID: course.ID,
    UserID:   "user-456",
    Mode:     "paid",
})

// Track progress
client.MarkComplete(academia.ProgressInput{
    EnrollID: enroll.ID,
    LessonID: lesson.ID,
})

// Certificate auto-issued on 100% completion
cert, _ := client.GetCertificate(enroll.ID)
fmt.Println(cert.PDFURL)

Frequently Asked Questions

A white-label course platform runs under your own brand. Your learners see your logo, your domain, and your colors — Academia handles the infrastructure. No "Powered by" badges.

You upload a video file. Academia automatically transcodes it into multiple HLS bitrate variants and delivers them via CDN. Learners get the best quality for their connection speed — automatically.

Yes. You define a revenue split percentage per course or per instructor. Payout reports are available in the admin dashboard. Stripe and Pix integrations handle disbursements.

Yes. Academia ships as a single Go binary with Docker and Kubernetes deployment guides. You keep full control of your data and can connect your own S3-compatible storage and CDN.

Ready to Launch Your Learning Platform?

White-label course marketplace, HLS streaming, certificates — live in weeks.

Start for free Contact sales