Learning platforms

Past Teachable, short of Kajabi's yearly lock-in.

Custom LMS with courses, cohorts, progress tracking, certificates, and Stripe payments. Built for how your learners actually learn.

Available for new projects
See Custom Web Apps

Starting at $3,499/mo · monthly subscription

Who this is for

Course creator or training company outgrowing Teachable, Thinkific, or Kajabi — platform fees eat margin, and specific features (custom paths, cohorts, SCORM) aren't supported.

The pain today

  • Teachable/Thinkific platform fees (up to 10%) on every sale
  • Kajabi's $199/mo minimum for features you outgrew in month 2
  • No cohort-based course support on most off-the-shelf platforms
  • Progress tracking that's binary (done/not) instead of mastery-based
  • No SCORM or xAPI for selling to enterprise learning teams

The outcome you get

  • Custom course platform with video, quizzes, assignments, progress tracking
  • Cohort-based course support with scheduled starts and discussions
  • Certificates auto-generated on completion, customizable per course
  • Stripe payments with one-time, subscription, or cohort-session billing
  • SCORM and xAPI export for enterprise buyer compatibility

Build vs Teachable/Thinkific/Kajabi

Four signals that justify custom. One: your catalog generates $500k+/year — platform fees (5–10%) on every sale now pay for a custom build's annual operating cost. Two: cohort-based learning is central and off-the-shelf tools treat cohorts as a paid add-on. Three: you sell to enterprise learning teams and need SCORM/xAPI compatibility. Four: your pedagogy is specific (mastery-based, spaced repetition, peer-reviewed) and generic platforms can't express it. Otherwise, Teachable or Thinkific are often the right call — fast to launch, acceptable for most course businesses, platform fees decrease at higher plans. Custom LMS earns its cost in specific contexts.

Video delivery

Three options. Mux: purpose-built video API with adaptive streaming, thumbnails, analytics, DRM optional. Cloudflare Stream: similar features, slightly different pricing, strong on global delivery. Self-hosted (HLS via S3 + CloudFront): cheapest at scale, most infrastructure work. I recommend Mux or Cloudflare Stream for most LMS builds — the infrastructure savings of self-hosting don't justify the operational burden until you're pushing multiple TB/day. Every video gets transcoded to multiple bitrates for adaptive streaming, with analytics on drop-off points (critical for iterating course content).

Progress, certificates, gamification

Progress tracking beyond 'marked complete'. Per-lesson: video watched (configurable threshold like 90%), quiz passed, assignment submitted. Per-module: mastery gates (must pass assessment to unlock next module). Per-course: completion criteria — minimum lesson completion plus final assessment. Certificates generated as PDFs on completion, customizable template with learner name, date, and verification URL. Gamification (badges, streaks, leaderboards) when the learner community is large enough to benefit — smaller courses often feel better without it. I scope gamification per audience.

Case study: Instill skill library pattern

Instill is a self-initiated AI product I launched in Q1 2026 — a prompt library that works with every AI tool. 30+ active users, 1,000+ skills saved, 45+ projects powered. The UX patterns (browse library, save skill, execute in context, iterate) share architectural DNA with LMS platforms (browse course, enroll, progress, complete). Both are knowledge platforms with user-generated content, progress tracking, and delivery mechanics. The technical choices — Next.js 16, React 19, TypeScript, PostgreSQL, Vercel, MCP Protocol — translate cleanly to LMS builds. The product discipline (ship the V0 small, iterate on real usage) applies identically.

Pricing

Custom LMS builds fit the Applications Standard tier at $3,499/mo for creator-led courses (single instructor, 5–20 courses). Pro at $4,500/mo for multi-instructor platforms, enterprise features (SCORM, xAPI), or cohort-based with live sessions. First-version timeline: 5–7 weeks. Subscription continues through iteration — course platforms always find new edge cases when real learners use them. 14-day money-back, cancel anytime, Work Made for Hire. Stripe fees and video hosting (Mux, Cloudflare Stream) billed separately at cost.

Live vs async vs cohort-based

Three delivery models with different architecture implications. Async (self-paced): learners progress at their own rate, no live sessions, simpler to build, lower support burden. Live (scheduled cohorts with live sessions): real-time Zoom or custom integration, calendar scheduling, attendance tracking. Cohort-based (scheduled start, async content with cohort discussion): middle ground, strong engagement, structured timelines. I scope the delivery model with you in week 1 — it drives every architectural decision that follows. A cohort-based platform is not an async platform with extra features; the data model and UX differ fundamentally.

Recent proof

A comparable engagement, delivered and documented.

AI Product · Beta

A prompt library that works with every AI tool

A home for your best AI prompts. Save them once, then use them in Claude, Cursor, or any AI tool you work with. No more copy-paste.

AI Product30+ active usersCross-tool workflowsSelf-funded
Read the case study

Frequently asked questions

The questions prospects ask before they book.

Can I migrate my existing Teachable or Thinkific content?
Yes. Course content, lessons, videos, and quizzes can be migrated via their APIs or exports. Enrolled learners port over with progress data preserved where possible. Typical migration phase is 1–2 weeks within the project. Payment history and subscriptions may require manual coordination with Stripe.
Does it support live cohort sessions?
Yes — Zoom integration or custom video-conferencing (Daily.co, Twilio Video) for live sessions. Attendance tracking, recording auto-publish, live Q&A, polls. Cohort discussion forums for async conversation between live sessions. Calendar integration for scheduling.
How does payment work for memberships vs one-time purchases?
Both supported via Stripe. One-time: Stripe Checkout or Payment Element, instant access. Membership: Stripe Subscription with monthly or annual billing, configurable grace period, dunning. Cohort-based: per-session payment with early-bird pricing. Course bundles supported with bundle-specific pricing.
What about SCORM and xAPI for enterprise sales?
SCORM 1.2 and 2004 export supported on the Pro tier — enterprise buyers can import your courses into their existing LMS (SAP SuccessFactors, Cornerstone, Workday Learning). xAPI (Tin Can) for more detailed learning analytics. Both configurable per course; courses can live on your platform and as SCORM exports simultaneously.
Can the platform handle 10,000+ learners?
Yes. Architecture is designed for scale — CDN-backed video delivery, horizontally-scalable web tier, Postgres read replicas for heavy queries. I benchmark against your expected scale in staging. Very large platforms (100k+ learners) may warrant Pro tier and additional infrastructure work.
Get started in 60 seconds

Ready to start?

Tell me what you need in 60 seconds. Tailored proposal in your inbox within 6 hours.

Available for new projects