Running a Virtual CoderDojo

15th March 2020 - 3 min read

Today we hosted the first virtual session of the Bishops Cleeve CoderDojo. While we didn't strictly need to, it seemed like a sensible option given the current coronavirus situation, and also we were curious to see how well it would work.

We had 5 children (who I'll call ninjas from now on!) join us, all of whom had attended before, as well as 3 mentors. We split the session into two parts, beginning with a live stream building one of the projects from the learning paths (which we introduced last session) before finishing with the usual show & tell.

Huge thanks to my fellow mentors for making this a success, and particularly for getting everything sorted and ready to go in just a few hours during the morning! We had some great feedback from the ninjas, who said while the usual face-to-face sessions are better, this was still excellent!

Here are a few notes on what worked well, and what could be improved.

Session Structure

The structure was a bit different to our normal sessions. Firstly, we didn't do the usual icebreaker to start, as we didn't have time to sort out a virtual version. This is something I'd like to find for next time though, perhaps something which can be played in our text chat.

We instead started the session with a live stream of one of the mentors building the Clone Wars game. This is the first time we've built a project as a demo for the ninjas, but it seemed to go down well. We kept them engaged with questions about the code, and by allowing them to suggest their own choices for sprites/game behaviour. You can see the finished project here.

We did finish with the usual show & tell, which worked fine over the video conferencing.


  • Look for an online icebreaker
  • Make sure the live stream isn't too long (or perhaps run these in a separate dedicated session)
  • Make sure ninjas know they can get on with their own projects if they'd prefer not to watch the stream

Video conferencing

We used Jitsi for screen sharing and voice chat, and it worked really well. The only downside was the lack of admin controls (e.g. to mute ninjas mics) but with such a small group this was not an issue for us.

We also had issues because we sent out the wrong link to our session. We added config.startSilent=true thinking this would allow people to join with muted mics, but it actually prevented them from hearing the voice chat!

A slight issue during the show and tell was that we couldn't see how to share the audio from Scratch, but this was easily fixed by unplugging our headphones so the mic could pick up sound from the speakers.


  • Make sure we've got the link right (look for a way to allow people to join with voice/webcam off, but allow them to turn these on later)
  • Find out how to share audio

Text Chat

We also used Discord for text chat. We had a general channel which the ninjas used to ask questions, and a private one for the mentors to discuss logistics.

This worked well, but it would have been useful to have two public channels to keep the livestream chat separate from the people asking for advice on their own projects.


  • Split the chat into 2 public channels if doing a live stream at the same time

Joining instructions

We shared a Google doc with parents before the session, listing all the links for the voice/text chat as well as providing links to the learning path projects.

Some of the initial problems we had (such as people in the voice chat not being able to hear us) would have been more obvious if we'd extended these instructions to make it clear what to expect. (e.g. you should be able to see our shared screen, and hear us talking!)

It might also have been useful to let parents know that the video chat software can installed on a mobile device, to make it easy to follow along on their laptop.


  • Include specific details of the video/voice chat


Despite a few bumps at the start, our first virtual CoderDojo went really well! We might even start running sessions in this way on a regular basis.

- Andrew Briggs

Find out more about me, or return to the blog index.