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
From video hosting to certificates, Academia covers the full course lifecycle out of the box.
Isolated tenants with custom domains, branding, and config. Spin up thousands of learning portals on a single deployment.
Complete branding control — custom logo, colors, domain, email templates, and certificate designs. Your brand, your platform.
Adaptive bitrate HLS video packaging with CDN delivery. Auto-transcode on upload. Sub-second start times globally.
Multiple-choice, true/false, free-text, and fill-in-the-blank. Automatic scoring, retry logic, and per-question analytics.
PDF certificates on completion, signed with a per-tenant keypair. QR-verifiable and shareable on LinkedIn.
Completion rates, engagement curves, drop-off points, quiz performance, and revenue dashboards per tenant.
Free, paid, and invite-only modes. Coupon engine, group purchases, subscription bundles, instructor revenue splits.
S3-compatible object storage with per-tenant quotas. Automatic image resizing and video transcoding on upload.
Full OpenAPI-documented REST API. SDKs for Go, TypeScript, and Flutter. Webhooks for enrollment, completion, and payment events.
Create courses programmatically or through the admin UI. Add sections, lessons, quizzes, and drip schedules.
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, })
Enroll learners, track progress, and issue certificates automatically on completion.
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)
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.
White-label course marketplace, HLS streaming, certificates — live in weeks.