Platform and automation · Online courses

Online course platform with CRM: a self hosted Teachable alternative

An online academy for personal development courses paid for Teachable, kept customers in several systems and opened course access by hand after every payment. I built a self hosted platform where payments, access, email and CRM work together.

Client
Online academy for personal development
Industry
Online courses and education
Delivered
Course platform, payments and access, email, CRM
Period
July to September 2026
A lesson in the course platform with video player and curriculum
Illustration of the course platform with a sample course. The client's courses and names are not shown.
In short

The academy got its own online course platform, access that opens automatically after payment, email from its own server and a CRM with everything about each customer on one card. 282 lessons and 281 videos, about 74 GB, moved from Teachable with zero errors, and installment reminders recovered 3,400 euros in 30 days.

282lessons and 281 videos moved with zero errors
10/10email deliverability test, up from 6.1
€3,400recovered by installment reminders in 30 days
2,734leads in the CRM, up from 1,393 at launch

The starting point

The courses lived in Teachable, payments came from several channels, and every buyer needed access by hand. Curators did not know who was behind on installments, and the school's emails often landed in spam.

What I built

  1. Own course platform. An admin in the style of Teachable: curriculum, a lesson editor with version history, a video player that resumes where you stopped, playback speed and discussion under every lesson.
  2. Protected video. Encrypted HLS streaming with signed links, so videos cannot be downloaded and shared.
  3. The Teachable migration. Every course, lesson and video moved, and 37 of 37 end to end tests passed on the live server.
  4. Payment to access. Stripe notifies the server, the product maps to the right courses, and the buyer gets access and an email at once. Payments the system cannot match become an approve or deny ticket by email and Telegram.
  5. Installments. Reminders before the due date, and access that closes on a missed payment and reopens automatically when the customer pays.
  6. Email from its own server. Postal for receipts and Listmonk for newsletters, with separate domains for each.
  7. CRM. 18 data sources on one card per customer, reconciliation against Stripe payouts, a debtors list and cohort analytics.

The result

The migration had zero errors: 282 lessons, 281 videos and 37 of 37 tests. The email deliverability test went from 6.1 to 10 out of 10, and 642 automated checks of letters and prices found no failures. Installment reminders recovered 3,400 euros in 30 days, with 7 of 18 people who owed money paying after the email.

The CRM now shows the whole journey: of 894 people who bought the intro course, 61 (6.8%) later bought the main program, after 9 days on average. The platform was handed over to the academy's own developer in September 2026.

Tools and tech stack

  • Python
  • Flask
  • SQLite
  • HLS video med AES-128
  • Stripe
  • PayPal
  • Postal
  • Listmonk
  • OpenAI
  • nginx

The client is anonymised. The numbers come from the project's own reports and measurements.

Project gallery

Questions and answers

What is the best Teachable alternative?

For a school with many courses that wants its own data, payment methods and email, a self hosted platform like this one. For a small creator who sells one course, a hosted platform is often enough.

How does access open automatically after payment?

The payment provider notifies the server. The server checks the signature, finds which courses the product includes, opens access and sends the email right away.

Are the videos protected?

Yes. They stream in small encrypted pieces with links that work only for a short time, which makes it hard to download and share a whole course.

How much does a custom online course platform cost?

It depends on the number of courses, payment methods and integrations. The price is agreed in writing before we start.

About the author

Vladyslav Lysechko
Vladyslav Lysechko, Performance marketer, Lysechko Digital, Rånåsfoss, Nes, Norway

I have worked with ads on Google, Meta and TikTok for more than seven years and personally managed ad budgets from $1,000 a day up to $50,000 a month. For the last two years I have built websites, automations and AI assistants with AI every day. I help local businesses in Oslo and on Romerike get more calls and bookings. LinkedIn

More case studies

Systems and dashboards

Self hosted email server

Postal and Listmonk on its own server instead of paid services, with SPF, DKIM and DMARC. Deliverability from 6.1 to 10.

10/10deliverability test, up from 6.1

Read the case study

Ads and tracking

Server side tracking for a Telegram funnel

Meta Pixel, Conversions API and Google Ads through a server, when the sale happens in Telegram and not on the website.

997new subscribers in 30 days, up from 945

Read the case study

AI and automationSystems and dashboards

Telegram subscription bot

A bot that takes payments and receipts and sends the invite link to a private group, delivered to five course creators.

5clients with their own bot on one engine

Read the case study

All case studies

Let's have a short call

Tell me a little about your business and you get a concrete suggestion with a fixed price.

Email vlad@lysechko.com · Phone +47 462 17 168

Book a short call WhatsApp (opens in a new tab)