After years of rising costs and platform stagnation, I'm migrating my paid courses from Teachable to a new self-built platform using Python and Flask.
My Courses Site is Moving to a New Home
Posted by Miguel Grinberg on February 15, 2026
I'm migrating the site where I host my paid courses to a new platform at learn.miguelgrinberg.com. If you've purchased a course or ebook directly from me, this article explains how to transfer your account to the new site.
Why is the Courses site moving?
My Courses site has been hosted by Teachable for several years. When I chose Teachable as my hosting partner, it seemed like the right decision. However, over time the platform has stagnated while membership fees have continued to increase year after year.
My renewal date comes up in May, and this time the price is about four times what I paid last year. Four times! As I'm sure you can imagine, the demand for learning materials is very low in the era of generative AI, so I cannot really justify renewing my Teachable site for another year.
I expect that site will go offline sometime during May 2026 when my current membership expires, and at that point I'll have the courses.miguelgrinberg.com domain redirect to the new site at learn.miguelgrinberg.com.
Unfortunately, I could not find any reasonable alternative to Teachable, so I decided to draw on my do-it-yourself roots and build my own platform, using my old friends Python and Flask (and with no help from generative AI, in case that matters to you as it does to me).
Having my own platform allows me to keep my hosting costs under control and protects me against yet another platform enshittifying on me down the line.
How to migrate your account
If you have an account on the Teachable site, you can now register a new account at the new website. Be sure to use the same email address you are using with Teachable, so that your purchases are matched to your new account.
Once you verify your email address, you will have access to the materials you own.
Even though I tried to make the transition from Teachable as straightforward as possible, I do not want to discard the possibility that I may have missed something. If you experience any trouble accessing your content on my new site or need help locating your account information, please reach out and I'll be happy to assist.
New orders
For those who may still be interested in purchasing my ebooks or video courses, orders are now handled by Dodo Payments. This is a service that is in many ways similar to the much more popular Stripe, but in addition to processing online payments, Dodo also takes care of collecting and remitting sales tax in the jurisdictions that require it, something that Stripe does not do and I have no interest in doing myself.
If you were waiting for that unlikely day in which I offered a sale, then you are in luck. Just use the discount code WELCOME20 during the rest of February to receive a 20% discount on anything you buy from my new site.
In addition to supporting my work, you would be helping me debug my new order pipeline, so be sure to let me know if you hit any problems or need help with your purchase.
Buy me a coffee?
Thank you for visiting my blog! If you enjoyed this article, please consider supporting my work and keeping me caffeinated with a small one-time donation through Buy me a coffee.
Share this post
Hacker News | Reddit | Twitter | LinkedIn | Facebook | E-Mail
No comments yet
Leave a Comment
Name | Email | Comment | Captcha
Flask Web Development, 2nd Edition
If you want to learn modern web development techniques with Python and Flask, you may find the second edition of my O'Reilly book useful. Click here to get this Book!
About Miguel
Welcome to my blog! I'm a software engineer and technical writer, currently living in Drogheda, Ireland. You can also find me on Github, LinkedIn, Bluesky, Mastodon, Twitter, YouTube, Buy Me a Coffee, and Patreon.
Thank you for visiting!
Categories

© 2012-2026 by Miguel Grinberg. All rights reserved.
Questions?

Comments
Please log in or register to join the discussion