How SF Python hosted a remote meetup during the times of COVID-19

What is SF Python

SF Python is a community-driven meetup that I’ve had the honor to co-organize alongside some other volunteers. The meetup was originally founded by Grace Law in 2008, and now, with the help of Simeon Franklin, myself and a few others, spans more than 13,000 members. SF Python runs 2 events every month: Presentation Night and Project Night.

The challenges of going fully remote

Due to the increased risk of spreading COVID-19 in our community, we decided to host SF Python’s Presentation Night on March 11th on Zoom. None of the organizers had experience with hosting a remote meetup, and we had to essentially promote a completely new medium to our audience as well as our speakers. We would also have to adapt our in-person format to an online format. We would also have to completely rethink things like announcements, Q&A, and many of the organic interactions of the community (clapping, cheering).

A quick overview of our offline format

Our venue opens up at 6:00 pm for registered guests who want to come and network (and have pizza and beer!). A line usually forms 15 minutes before the venue opens. The main event starts at 7:00 pm and goes up until 9:00 pm. We usually begin with sponsor acknowledgments, followed by 5-minute lightning talks, 10–15-minute talks, and finally a 25-minute talk. Between each talk, we provide a space for announcements, which allow our community members to request technical help, pitch a job opportunity, look for employment or ask for the community’s advice. Most talks also have a 5-minute Q&A session which allows our community to ask questions to the speaker. Once the talks are over, we usually have 30 minutes left for our community to mingle, network, and interact with our speakers.

Transitioning to an online format

We chose Zoom to host our meetup. It is reliable and many developers are already familiar with this platform. Since we usually have over 150 guests at our live-events, we purchased Zoom’s Pro plan with a “webinar” add-on package. It sets us back $140/month but it allows us to have a good interactive experience for 500 participants. We created a new Webinar for March 11th, and we provided the public join link to the community, we then created specific “panelist” links for all speakers. These links authenticate the speaker as a “panelist”, which allows them to present their screen and talk to all participants. We asked speakers to log in early (at 6:30 pm) so that we could familiarize them with Zoom and the various commands.

  • The “raise hand” feature was used for announcements in our case. We did announcements in between talks and unmuted the audience that had raised their hand, giving them audio and video capabilities for the duration of their announcement.
  • The “Q&A” feature allowed attendees to ask speakers and moderators questions through a chatbox. After each talk ended, our co-host would select questions in this chatbox and ask the questions on behalf of the attendees. We recommend having one volunteer dedicated to moderating the Q&A. In our example, Connor did a good job curating the question list and summarizing common questions from the group.
Our speaker, Syeda, talking about Black!
Our speaker, Syeda, talking about Black and flake8!

Lessons learned and unique challenges

Set-up time for organizers to learn the controls of the system and talk through how you want to run the event

We got together the night before to test things out and we are so glad we did, but we could have allowed us a bit more time. Some things to think about:

  • Set speakers up as panelists
  • Set up multiple co-hosts
  • Have a slide before the start of the event — people start showing up 10 minutes
  • Do you want to have some music before the event? What kind?
  • How do you want attendees to communicate with you and with each other, how should you greet them when they arrive?

Get speakers buy-in

Do not assume all of them want to present via Zoom, some speakers may need additional approvals if the captured footage will be featured elsewhere (on YouTube, Facebook live, etc).

Get speakers to show up on time to test AV before the event

Don’t just test the transitions and screen sharing capabilities, have them present a section so you have ample time to test the voice quality. Our microphone testing wasn’t extensive enough and there enough static noises that made it difficult to comprehend a technical presentation. We recommend asking the speakers to log in 30–45m early, in order to fully test that everything is working correctly.

Have multiple co-host monitor Code of Conduct

The great thing about having a zoom meetup is that people that can’t normally attend show up because there isn’t a geographic barrier. We learned via people’s chat introduction that we have people from LA, Colorado, Spain, Italy as well. However, at the same time, written communications can often be misinterpreted and internet trolls are real. Think about how you’d want to communicate and enforce the code of conduct to make everyone feel welcome and safe.

Think about ways to engage the community

Since we didn’t have a venue for our guests to socialize before the event, we recommend allocating at least 10 minutes before the talks start and encourage people to say hello to each other.

Over-communicate how you’d want attendees to interact with you, with the speakers, and with each other via chat

This is super important, especially if you allow the audience to speak or you’d risk people making announcements during speaker Q&A session, or you’d miss great questions to speakers because the audience asks the questions via chat instead of Q&A. We’ve communicated multiple times via different ways on how we want interactions to happen and notice that the most effective way is to repeat the desired interactions multiple times via the chat feature. But there are limitations to the chat feature as well, with 140+ people in the chat room, it’s a bit hard to follow. We ended up spinning up a slack channel during the meeting as suggested by an attendee, however, only some of the attendees switched to slack. Between twitter, zoom’s chat, zoom’s Q&A, and slack we ended up having way too many channels to monitor. So think through how you’d like the audience to interact, specify communication channels and over-communicate it.

Be ready to improvise

  • What if a speaker didn’t show up to do the AV test as planned?
  • What if the screen freezes during the presentation?
  • What if the host loses connection during the meeting?


Dear meetup organizers, if you can, please continue your meetup online! During this difficult period, it’s really important to give our communities some routine, something that they can rely on. Our communities can help connect people together especially in this season of uncertainties.

Kim, a SWE from San Jose, is reaching out to the community to look for a job


Unfortunately, Zoom does not save metrics about the webinar, so I am jotting down what I remember. On March 11th, our Zoom webinar had:

  • 5 speakers
  • a total of 155 consecutive attendees (less than in-person meetup)
  • 1 Q&A moderator
  • 1 in-meeting chat moderator
  • 1 MC
  • ~16 Q&A questions answered across all talks (more than in-person meetup)
  • ~4 announcements (less than in-person meetup)

A huge thank you

I always sing my praises of Grace Law, because she is our supreme leader and the meetup could never exist without her. All the work that she does behind the scenes is remarkable, and she makes our job as volunteers as easy as possible. Another person that has been an amazing community member and has made this meetup possible is Connor Cantrell, he is the person that suggested using Zoom Webinar, and he is the person that effectively shaped our online format. He was also extraordinary in moderating the Q&A and the announcement sections. The meetup went extremely smoothly thanks to him!
Finally, thanks to Tim Bonnemann (from IBM) for encouraging me to do this blog post, I really appreciate the support he gives to our meetup!

“See you” on April 8th!

Your learning will not be stopped by COVID-19, The Show Will Go On. Our next fully-remote meetup will be on April 8th. I hope to see you there!



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store