I discovered live coding on Twitch for the first time in mid June 2020. I was instantly hooked on the huge sense of community, the opportunities to learn, and the way in which the platform increases access to and engagement in science and technology content across the world.
I hesitantly pressed the go-live button on Twitch for the very first time on Thursday 25th June. Within seven days I had reached Affiliate status, and had collected a core group of regular viewers who continued (for some reason) to return to my streams.
For anyone who's thinking about getting started with streaming live coding, here's six valuable lessons I learned in my first six weeks on Twitch, and hopefully it makes you a little less hesitant about going live yourself.
1. You don't need a pro set up to get started
Don't invest in expensive kit when you're just starting out. In fact, I would highly recommend that you buy absolutely nothing in preparation for your first streams. You don't really know what you're going to need until your content starts evolving.
All you need to get started is a laptop with an in-built microphone and webcam, some free streaming software such as OBS, and something to do on your stream. Anything else is overkill and will certainly give you a lot more to worry about as you go live for the first time. More kit definitely means more problems. Start slow, and adapt as you go.
Once you've found your rhythm, developed your style, and your community is starting to grow, then is the time to figure out how to increase the production value of your stream — whatever that may mean for you.
Here's what my streams looked like when I started out.
2. You will have tech issues!
When the time comes for you to work on the production quality of your stream — you will have technical issues. Dropped frames, audio out of sync with the webcam image, "Minecraft style resolution", white balance issues, flickering webcam image and lack of processing power — these are just some of the issues I faced as I started to evolve my setup.
Viewers will point out your technical issues. Whilst this is stressful whilst you're trying to stay on top of your content and engage with the chat — this feedback is a gift. It shows that your viewers are engaged and want to see you succeed.
If it's not possible to tweak those issues as they happen, experiment with different settings and approaches to solving your problems off-stream, and always crowdsource advice.
Here are some of the key things I've learned about the optimum technical setup:
1. Do not stream using WiFi
If you can't deal with a 50m long ethernet cable trailing up or down your stairs, try a powerline adaptor.
2. If your programming is CPU-intensive, try a dual machine setup
I know this isn't the most cost-effective solution, but I was lucky to have a PC sitting idly below my desk. I now use a PC to run OBS and stream via powerline, whilst I code on my Macbook that is connected to the PC via a capture card.
3. If your shiny new camera flickers randomly, use default Windows drivers and USB 2.0
After a few weeks of streaming with my MacBook webcam, I switched to using a Logitech Streamcam, but I had nightmare after nightmare trying to work out why the camera was intermittently flickering. After I tried everything and almost rage-quit streaming altogether, I found the solution was software-based. I switched to using Windows default drivers rather than the Logitech drivers, and purchased an adaptor to plug the proprietary USB C connector into USB 2.0. And my problem was solved!
(This might have been a unique problem to me due to the first generation USB C hardware on the motherboard in the PC, but if I can help at least one other person with this advice, then it's definitely worth mentioning!)
Read this post from 2021 that describes my streaming setup in detail: My Twitch live coding setup in OBS
3. Engage with your community
I love hanging out on streams where the streamer is engaged with the chat. It feels really sociable, like you're hanging out with a group of friends, sharing the same interests and experience. I try my best to replicate this in my streams, and ensure that I create an inclusive and welcoming atmosphere.
A lot of viewers ask similar questions about getting started in web development, and I make an effort to engage with everyone. It's these inquisitive viewers that I notice coming back again and again to be part of the conversation.
As your community grows, make sure you build up a core team of mods to support your whilst you're streaming. They are invaluable to keeping your stream running smoothly. Thank you to all my mods, @Steffi128 and @thatn00b__ in particular!
4. Let the look of your stream evolve organically
When you're starting out, you can feel like your stream doesn't look good enough compared to other channels.
The options for the look and feel of your stream are endless, and whilst there are a myriad tools out there to help you get set up relatively quickly, stream overlays and artwork can consume your time to the point where you feel like you don't have any time to actually stream!
You don't need to achieve the perfect stream branding before you go live. In fact, developing your stream overlays is perfect stream content — especially where programming is involved. Let your stream look and feel evolve with your personality and content. Plus, it's exciting for your viewers to return to your stream and find a new interactive feature they can play with!
5. Stream the content that motivates you
If you try to stream content that doesn't motivate you, or content you're not invested in, you simply won't enjoy it. I stream content centred around front end development, accessibility, and user experience. When I first started out, I noticed that this kind of content was pretty rare on Twitch. And so it got me questioning.
Did people really want to watch me make pretty, accessible websites? Or were they more interested in deep-diving into C#, Rust and Python?
I experimented with streaming some very different content for a little while (for example, Rust) — and whilst it certainly brought some different viewers to my channel (and some have certainly stayed), I didn't feel as comfortable with this content.
6. The most valuable element to your stream is you
The content you are streaming is only part of what you bring to the community. Viewers don't necessarily return to your streams time and time again to learn about what you are coding — they come to hang out with you, chat with others, and to feel connected to a community.
If you haven't pressed the go-live button just yet, if you really want to get started on Twitch, and if you're not feeling confident about your content — remember that the most valuable element to your stream is you — and there will be people out there who will enjoy watching your streams, regardless of what you do.