Rule number 1 of indie hacking: Coding is a trap, focus on your product.
So why the heck did I build a course platform for ServerlessReact.Dev when services like Teachable, Podia, Thinkific, and such already exist? Because of friction my friend.
Lemme explain
My goal is to give frontend engineers superpowers and turn them into full-fledged product owners. Whether that product is a feature at work or a great idea for an app.
The way I do that is quality content.
Thoughtful emails from experience, detailed articles, well-researched video courses, deep dive workshops, and funny gifs. You gotta have gifs.
Everything else is a distraction. Especially building a custom course platform.
But here's the thing: managing content is also a distraction. I should focus on creating content. Doing research, following trends, finding ideas, writing, editing, recording, coding ...
What creating shouldn't involve is futzing around with video uploads, getting transcripts, adding subtitles, rescaling images, formatting content, embedding stuff, or even looking for gifs.
And that's where other course platforms fail.
In appealing to the lowest common denominator they lose the very thing that makes them useful: Removing work, being frictionless.
How a custom platform reduces friction
Can't believe I'm saying this but building my own course platform was the best decision I've made in years.
— Swizec Teller (@Swizec) February 3, 2020
Today I had to add 14 videos. Took me 5 minutes.
DaVinci Resolve uploads right after rendering
then:
- find ids on Vimeo
- <Vimeo id="X" />
- now --prod
😍
Most course platforms are designed to be simple, but they're not designed to be easy. At least not if you're technical or stuck in your ways.
I write in markdown. Using iA Writer since 2010 or so.
I record in OBS. Often livestreamed.
My DSLR is the face camera. When there's no code, I just talk into the DSLR like a vlog.
I edit videos in DaVinci Resolve.
All serious work should be version controlled with Git. Saved in Dropbox at the very least. It's got version control too.
Now, which platform do you think supports that authoring setup my friend?
Yep, none of them.
Get Curated Indie Hacking Essays
Get a series of curated essays on Indie Hacking. Lessons and insights from 10 years of building small profitable businesses. No bullshit.
Platforms and misaligned incentives
You see, their incentive isn't to make your life easy. Platforms want to make everyone's life simple.
Come on Teachable and we've got you covered. Come to Podia and get started. No skills required.
Spin up our editor and write your content. Flick on the webcam and record right here. Upload a video and we'll keep it safe for ya.
Please use our platform for authoring and publishing.
I've already got a great authoring flow, thanks. Can I still use your platform?
Sure you can, just go through these five bazillion painful steps and we've got you!
All these platforms use WYSIWYG. No markdown support. You're supposed to write right there and hit publish.
Oh you don't want to write here? Maybe you can copy pasta. Oh wait you'd like to preserve your formatting when you paste? LoL
You want to upload videos? Great! Just click these five buttons in the right sequence and we've got you. We'll even host it for ya.
Integrate with your video editing software? hahahahahahaha
Oh you want version control? What's that? You realize nobody outside of tech even realized that's a thing right? Why on earth would we support that feature don't be silly.
Captions? Eh
Transcripts? You can copy pasta into a new section can't you?
Multiple videos per lesson? That does not fit our philosophy. A/B testing has showed that users want one video at a time and then to click a big fat NEXT button so they get a sense of accomplishment for finishing a lesson.
But my videos are short. You have to watch 3 of them to get all the steps of the same overall lesson.
A/B testing has showed ...
So I built my own
So after spending heaps of money, time, and effort trying to make Teachable easier to work with and absolutely dreading the pain of making a new course ... I said fuck it and built my own
Now my process looks like this:
- livestream a build
- edit into videos in DaVinci Resolve
- hit render
- DaVinci uploads to Vimeo
- find video urls on Vimeo
- paste into iA Writer
- add descriptions in Markdown
- run
now --prod
to deploy - go to Rev.com
- select Vimeo vids
- Rev creates captions and delivers straight to Vimeo
It. Is. Wonderful. 😍
Easiest it's ever been to make a course.
And check this my friend: ServerlessReact.Dev is built with Gatsby so adding a new section or module is as easy as creating a new module.mdx
file. Hit deploy and voila, new page.
I have ideas to make it even more frictionless. Gatsby can read Vimeo's API and handle the videos itself. Maybe even insert transcripts from Rev 🤔
Using Gatsby also means that my course renders as a static HTML page. You can use it on your phone, laptop, crappy wifi, or wonderful broadband. Once it's open it's open.
And the best part? I can fix things from an airplane.
A couple folks complained that videos are too small to watch. You can fullscreen but then you can't code along
— Swizec Teller (@Swizec) February 13, 2020
So I added a quick "Make Bigger" button and deployed to prod from an airplane. A friggen airplane!
Another benefit of a custom platform for https://t.co/ZTfx60zUIR ✌️ pic.twitter.com/h3Ampx7hkT
🤘
Cheers,
~Swizec
PS: this post got long so maybe I'll write about the Gumroad-> Auth0 -> useAuth -> course integration next time. Interested? hit reply
PPS: Gumroad because I'm not dumb enough to build my own checkout ;)
Continue reading about Why and how I built my own course platform
Semantically similar articles hand-picked by GPT-4
- 5 apps with the modern web stack
- It's never been this easy to build a webapp
- Lessons from migrating a 14 year old blog with 1500 posts to Gatsby
- Announcing ServerlessReact.Dev – my new course on building apps from scratch
- 5 years of books & courses or how I made $369,000 on the side
Want to learn about Indie Hacking from the trenches?
I believe this is the best and worst time to launch something.
The best because consumers are used to paying and they hate big tech. People want your thing and they want to pay you. Not a faceless behemoth that steals their data and turns users into commodities. Blech
And if you're an engineer or product manager, the swan song of easy money in tech is irresistible.
But you should never stop tinkering on the side. Multiple streams of income are a great way to recession proof your career.
Leave your email and get the Indie Hacking Series - a series of curated essays from the trenches of Indie Hacking.
Get Curated Indie Hacking Essays
Get a series of curated essays on Indie Hacking. Lessons and insights from 10 years of building small profitable businesses. No bullshit.
Have a burning question that you think I can answer? Hit me up on twitter and I'll do my best.
Who am I and who do I help? I'm Swizec Teller and I turn coders into engineers with "Raw and honest from the heart!" writing. No bullshit. Real insights into the career and skills of a modern software engineer.
Want to become a true senior engineer? Take ownership, have autonomy, and be a force multiplier on your team. The Senior Engineer Mindset ebook can help 👉 swizec.com/senior-mindset. These are the shifts in mindset that unlocked my career.
Curious about Serverless and the modern backend? Check out Serverless Handbook, for frontend engineers 👉 ServerlessHandbook.dev
Want to Stop copy pasting D3 examples and create data visualizations of your own? Learn how to build scalable dataviz React components your whole team can understand with React for Data Visualization
Want to get my best emails on JavaScript, React, Serverless, Fullstack Web, or Indie Hacking? Check out swizec.com/collections
Did someone amazing share this letter with you? Wonderful! You can sign up for my weekly letters for software engineers on their path to greatness, here: swizec.com/blog
Want to brush up on your modern JavaScript syntax? Check out my interactive cheatsheet: es6cheatsheet.com
By the way, just in case no one has told you it yet today: I love and appreciate you for who you are ❤️