How I record, edit and publish YouTube videos
- Published at
- Updated at
- Reading time
- 7min
I have been creating Playwright videos for the Checkly YouTube channel for roughly two years now and I think I've reached a decent quality level. Alex asked on Bluesky how I create these videos and because documenting my flow has been on my todo list for a while, let me share my approach to creating YouTube videos.
All my video ideas live in a long list and I pick them depending on my mood. For educational nerd videos the topics are fairly straightforward. Do people have the same questions over and over again? That's a video. Is there something that you've learned recently? That's a video. Is there a new product feature available? That's a video, too. Right now there are 74 video ideas on the list so I won't run short on ideas very soon.
Do I write scripts?
Once I've picked a video idea I sit down to create the code that I want to show. For the Checkly case, the complicated code examples live on GitHub. Having the code available is important, because if you're explaining code for ten minutes it's guaranteed that one of the first comments will be "Where's the source code?".
After being clear about what I want to show, I create a new Git branch and clean up the code to where I want to start the recording. If the code is complex or complicated, I have the final code example on a second screen.
Then, usually I get out my notebook (yes, paper) to create the storyline, evaluate steps to take and start practicing the recording session. The number of practice sessions varies depending on the topic, but I usually need five to ten rounds of coding and speaking out loud. The flow and storyline often changes during this process. If there's a hard-to-say phrase or I struggle with typing something, I resolve these issues by changing what I want to say and creating VS Code snippets. The recording process must be easy and feel natural to you, otherwise you'll struggle.
Once I've practiced my video flow and removed all the stumbling blocks I start recording. Sometimes I write down sentences or phrases that I want to use, but there's usually no script. There's nothing wrong with a scripted video, but for me it's just easier to "freestyle" and I also want to keep eye contact with the camera as much as possible, which is hard to do when I need to read something out loud.
So, technically one might say that I'm "winging" it, which is true because I don't have a script, however when I start recording, I'm usually well-prepared, have a clear idea and know what I want to do.
A quick note on live-coding...
Creating coding videos is a bit like live-coding and this is where my time at Twilio comes in handy. The Twilio developer relations team had a strong focus on live-coding and while getting on stage somewhere seems very intimidating it's really just a matter of practice.
Regardless of whether you live-code on camera or in front of people, there are only two things that can go wrong.
First, something out of your control happens. There's little to change about the situation if you're unlucky. However, it's on you to have a backup plan. Do you rely on internet connection, that's fine, but you need to know what to do if the world wide web isn't available. How can you recover? Could you mock API calls? Do you need to do things online in the first place? I recommend thinking about these questions beforehand. Now, if you're recording a live-coding session, all this probably doesn't matter much because you can just take a break and wait until things are okay again; I just wanted to mention that preparation is essential.
Which brings us to the second possible issue: not the outer world, but you mess things up. Let me be honest here, if you mess up a live-coding session regardless of whether it's on video or live, you probably weren't prepared enough. If you're prepared and ready, you can think about your grocery shopping list or talk to your friends while coding.
Of course, it could also be that you freeze and have a blackout, that's totally human. However, then we're back at the previous section. Have you thought about this case? Are there Git checkpoints to recover? Do you have notes somewhere to read out loud? What's your plan for when this happens.
So, I hold a strong opinion here, but whenever your live-coding relies on "demo gods" or a "good day", you're probably not well-enough prepared.
To record technical videos I rely on a few different tools.
Screenflow
To record my screen and my camera, I use Screenflow.
The product has an okay'ish learning curve and it's not overloaded with a gazillion features I don't use. What's most important for me, though, is that Screenflow allows me to record and edit in a single tool.
When I record a new video, I start from the beginning, present and live-code a section until I stumble or am unhappy about what I say, hit pause, check what I've said, see if the transition from and to other clips feels good and continue. I literally stumble my way from the beginning to the end.
A quick note about Screenflow: The software hasn't received an update in ages. I'm slightly concerned about it but I'm unwilling to switch right now.
That said, for quick social media content I can also recommend ScreenStudio which does many things out of the box and comes with decent good-looking presets. It might be exactly what you're looking for.
Keynote
When I need to create animations or content that is more "slide-driven" I use Apple's Keynote. The tool is underrated when it comes to animating things. From my public speaking experience, I know how to handle animations and am very comfortable creating them quickly.
Jitter
In rare occasions, when I want to animate fly-ins or modals and I need video with transparency, I reach for Jitter and add these smaller snippets to my Screenflow sessions.
Descript
You might now think, that I'm done after recording and editing in Screenflow but it's only half of the process. I ship my YouTube videos with edited captions for accessibility which I manually upload to YouTube. Editing captions can be very painful, but Descript makes things easy.
After I'm happy with the editing in Screenflow, I upload the video to Descript which scans it and generates matching subtitles and captions. If you wanted to, you could also edit entire videos via text manipulation from within Descript but the transitions and cuts aren't good enough for my videos so I primarily use it for caption generation. However, there are a few more great things about Descript.
Descript's "Studio Sound" filter is absolutely fabulous. If you can't record in a real studio setup, the filter will make your video's sound way better.
It also includes a huge library of royalty free sounds and music if you want to add some swooshes or beeps or whatever.
If you want to publish to social media and want to embed captions, the Descript ones look great!
Once you're ready to publish, it can also help generate a proper title and description with AI. I don't think these features are that great, but often I take them as inspiration.
The coding setup
Let's come back to what's on screen, though. I usually record VS Code and I try to make the code as big as possible and also to remove as many distractions as possible.
I use different VS Code profiles with different setups. The "Presentation" theme comes with the following settings:
- Matching brand colors: I like a consistent look in my videos.
- Bumped up font sizes: Bump it up until it hurts; people watching videos on their phones is a thing...
- Removed tabs and status bar: I want the editor to look as clean as possible.
- Disabled AI features: I'm prepared and don't need a robot to break my flow with random suggestions.
- Disabled hover info: When explaining something the hover tooltips can stand in the way. If I need them I turn them back on, but usually hover interactions are disabled.
I also record in full screen. Seriously, nobody needs to know about the apps you've installed or at what time you're recording a video. You've got 1920x1080 pixels, use them!
Quick'n'easy:
- MacBook Pro with M3 processors and 36GB RAM: Everything runs smooth as butter!
- Sony ZV-1 Camera: It's a decent webcam replacement which I have in use for a while. That said, recently I worked on a studio setup and the camera lens turned out to be a bit wide angled.
- Two Elgato key lights: I can recommend everything from Elgato because the products are high-quality.
- Shure MV-7 microphone: A standard podcasting microphone with a USB connector. It's fine...
I also have a standing desk and record standing up because I believe I'll be more energetic this way.
Just because I'm very proud of it, here's how my new recording studio looks like. I still have to get more light into the background, but overall I'm very pleased.
Occasionally, I forget my own steps, so let me finish this post with a personal checklist I can reference before recording.
Before recording
- Room: Turn on all lights (yes, also the head light!)
- Room: Close all the windows
- Room: Check the background for distracting stuff
- MacOS: Turn off all notifications
- VS Code: Switch to "Presentation" mode
After recording
- Screenflow: apply "compressor" filter
- Screenflow: hide or bump up mouse cursor
- Descript: apply "studio sound" filter
And that's my recording flow — maybe this all is valuable for someone. If you have any questions, feel free to reach out.
Join 6.1k readers and learn something new every week with Web Weekly.