I thought creating a “short video course” would take a weekend.
It took 4 months.
Here's what happened, what I learned, and why I'm actually glad it spiraled out of control.
How This Started
Last November, I spoke at React Summit US about building browser extensions with React (watch it here).
As I was preparing to the talk, I found that there’s not a lot of education material available, let alone a full course for total beginners.
So I decided to create one, as a side project. "I'll spend a weekend recording a few quick videos," I thought. "Cover the basics, publish them, done."
That weekend project turned into 14 comprehensive lessons and 4 months of work 😅
The Learning Curve I Didn’t Expect
Creating a conference talk is one thing. Creating a full course? Completely different beast.
What I thought would be hard:
- Recording videos, talking in front of the camera
- Explaining technical concepts
What was actually hard:
- Ok, recording was indeed challenging, but once you have the nice backdrop and some basic lights, it’s fine (until your neighbor starts vacuum cleaning in the middle of your shot)
- Structuring 14 lessons so they build on each other logically
- Writing scripts that work for video (turns out speaking at a conference ≠ teaching on camera)
- Editing (my DaVinci Resolve skills definitely improved 😅)
- Deciding what to include vs. what to cut
- Testing everything to make sure it actually works for someone following along
What I Built
The course teaches browser extension development by building a real note-taking extension called TabNotes.
An actual, production-ready extension that:
- Syncs data across devices
- Works on both Chrome and Firefox
- Uses modern architecture with the WXT framework
- Gets published to both extension stores
It covers everything:
- Manifest V3 configuration
- Popup interfaces and background scripts
- Storage APIs and cross-device syncing
- Content scripts and messaging
- Cross-browser compatibility
- Publishing to both stores
The course is pretty technical, but I tried to explain concepts as clearly as possible. It's for anyone who wants to build their first browser extension and understand the gotchas (and there are many).
What Worked
- Starting with an outline. I mapped out all 14 lessons before recording anything. This structure kept the course coherent and ensured each lesson built logically on the previous one. I didn’t need a pre-written script, because my outline was super detailed.
- Building the extension first. Before recording a single video, I built the complete TabNotes extension. This meant I knew exactly what I was teaching and could confidently walk through each step without surprises.
- Batching tasks. I grouped similar work together - wrote all scripts, then recorded all videos, then edited everything. This flow kept me in the right mindset for each type of work and saved weeks of context-switching.
- The mirror trick. I recorded with my iPhone but put a mirror in front of me so I could see myself. That visual feedback helped me catch awkward moments and maintain better energy on camera. Simple but effective.
What I'd Do Differently
- Accept "good enough." As developers, we love perfection. But I spent way too long tweaking things that students probably won't even notice. Ship it, get feedback, iterate.
- Invest in better audio equipment. I used my iPhone's built-in microphone. It works, but audio quality matters more than I realized. Next time, I'd get a proper external mic from day one.
- Record in shorter sessions. I tried to power through entire lessons in one go. Breaking recordings into smaller chunks would have kept my energy more consistent and made editing easier.
What Surprised Me
- Teaching forces you to understand things deeply. I thought I knew extension development well. But explaining it to someone else exposed gaps in my own understanding. I had to dig deeper into the Chrome and Firefox docs multiple times.
- People want context, not just code. Early lessons were just "here's how to do X." Better lessons explained why you'd do X and when you shouldn't. That context matters more than I realized.
- Mistakes are part of the process. When I got stuck and made some errors, instead of cutting them out, I embraced them. It’s normal to make mistakes, and showing the debugging process is also a valuable lesson.
- Video editing is time-consuming. So. Much. Editing. Removing "ums," cutting, adjusting audio levels, adding captions... I have new respect for YouTubers.
Why I'm Sharing This
Video content is super easy to consume, but quite hard to create.
If you've thought about creating educational content - a course, tutorial series - here's my advice:
- It will take longer than you think. 3x your time estimate. Then add 50% more.
- You'll learn as much as your students. Teaching forces clarity. You can't hand-wave over concepts you don't fully understand.
- Start before you feel ready. I kept thinking "I should learn more first" or "I should make it perfect." But you learn by doing, and perfect is the enemy of done.
- Make it free first. I made this course completely free (no signup, no paywall). It removes the pressure to be "worth the price" and lets you focus on making it genuinely helpful.
The Result
After 4 months, the course is live: webextensiontutorial.com
14 lessons, all free, all on YouTube. You build a complete extension from scratch and publish it to both stores.
Was it worth it? Absolutely. Despite the time investment, I enjoyed the process. Pushing myself to create something I hadn't done before - that's kind of the point, right?
If you've been curious about browser extensions, check it out.
And if you've created educational content yourself, I'd love to hear what surprised you most about the process.
Top comments (0)