How to egghead

screencasting technical guide

Screencasting is one of those iceberg-like tasks: 90% of the work is behind the scenes. Only 10% is visible.


The final edited version of your screencast is that 10%.

You’ve put tons of thought and time into your lesson scope, code example, and points you want to cover. What distinguishes your success in this final stage is high-quality technical tools. (And careful editing—that’s next.)

Video capture instructors are provided with whatever software licenses you need. Just #ask!

On Windows, the best option for video capture and editing is Camtasia.

On a Mac, the best options are ScreenFlow and Camtasia. Both provide editing features. We tend to prefer ScreenFlow for its standalone simplicity, as Joe Maddalone shows in the video show below, but the decision is completely yours.

04 screencasting tips how joe eggheads

Capturing audio

There are three ways to record your screencasts. Each is completely 👌

  • All at once
  • Audio first, video second
  • Video first, audio second

All at once is arguably the simplest approach—just type and record the screen. You don't have to think about the video and audio separately. You just have to think about them at the same time, which might be a lot to ask. Give it a try and see how it feels to you!

Audio first means you play back the audio and record your video to match. The trick here is remembering what is said when, so your mouse is ready to move where it needs to.

Video first means you narrate over video playback. It can be challenging to sync and get a natural feeling with narration. Like most things, it takes practice.

For more on audio, see our guide to audio setup.

Record one thought at a time

While you’re recording, do your editing-self a favor: Record in short, high-quality chunks, one thought at a time.

Think of your lesson as a series of paragraphs that take 20 seconds to record. Between each, take a pause. Doing this will help you avoid intense editing to move audio and video snippets around as you build your quilt-like final product.

When you record in chunks, you get better short takes. (You’re not trying to set a record for the longest unedited take here.) By pausing between each section, you can visibly see where you need to ripple delete.

Need an example? Watch John Lindquist show how to record one thought at a time:

Host a demo REST API

Want data to play around with in your next egghead lesson?

egghead co-founder and instructor extraordinaire John Lindquist set us up with a REST API using swapi (The Star Wars API) and json-server. As long as you don’t openly endorse or promote swapi (or Star Wars), you’ll have no issues with copyrights.

If you don’t have a need for any special configurations, you can spin up the server using npx.

npx ships with the latest versions of npm, so you probably already have it installed.

$ npx // --> http://localhost:3000

💥 Presto. You’re now running a REST API using Star Wars data. 💥

Build custom data for egghead lessons

Of course, you have endless options for building a REST API.

If your data needs to be unique for the lesson you’re crafting (there’s a lesson for that!)

John shows us how to generate a large dataset of JSON data:

100 random people

If 100 random people is enough for your data set, grab this gist: 100 people in JSON format.

Serve JSON locally

json-server will serve any JSON file we have ready.

$ npm i -g json-server

$ json-server {data.json}

You're good to go.


Zeit's now feature is a great way to host any application needing it.

You can use the now command with an app John set up:

$ npm i -g now $ now

If this is your first time using now, there will be a small amount of setup, but overall it's a breeze.

There’s a lesson for that, too. Check out Deploy Web Apps with Zeit Now for an in-depth look at now. Watch it right now!