Skip to content
Runbooks

Meetup Runbooks

The behind-the-scenes steps we follow to run a meetup, from finding a date to publishing the recap. The stages overlap and the timeline flexes, but this is the general order. Checklist progress is saved in your browser, so you can close the tab and pick up where you left off.

Before you start

Always CC vancouver@pyladies.com

CC vancouver@pyladies.com on any communication with venues, vendors, and speakers. It keeps the whole organizing team in the loop and means nothing depends on a single person’s inbox: as long as that address is copied, you’re good to go.

For the principles behind these steps, what we ask of hosts, how we support speakers, and how to get involved, see the Handbook.

Where things live

Here’s where everything lives and what we use it for.

WhatWhereUsed for
Websitegithub.com/pyladies-vancouver/pyladies-vancouver.github.ioOur site, built with Hugo and the Popular theme, deployed via Netlify
Lumaluma.com/pyladiesvancouverRSVPs and event pages (our primary platform)
Meetupmeetup.com/pyladies-vancouverAnnouncing events; we point people to Luma to RSVP
Sessionizesessionize.com/pyladies-vancouver-meetupCall for proposals and managing speaker info
PyLadies Vancouver donationsDonateSupporting our local chapter
Emailvancouver at pyladies dot comGetting in touch with the organizers
Slack#city-vancouver via slackin.pyladies.comWhere organizers and volunteers coordinate

We also share updates on LinkedIn, Instagram, Mastodon, and Bluesky.

Pick a date and venue

We aim to confirm a date and a venue host first, since the venue is usually the longest lead time.

What we need from a venue

The bare minimum we need from a venue host is a space that fits our group and a projector/AV setup for the talks. The PyLadies organizer still handles all the coordination. See Host a venue for what we ask of hosts.

Food (often pizza) is optional: appreciated but not required, and it can be covered by a separate sponsor who isn’t the venue host.

Hosting agreements

Most venues ask us to sign an event hosting agreement covering booking lead time, setup and cleanup responsibilities, access procedures, and a cancellation policy. Read it carefully: agreements often require a host contact or volunteer to be confirmed weeks in advance, and the booking can be cancelled if that isn’t arranged in time.

Venue access details are private

Door codes, alarm procedures, and day-of contacts are sensitive and are kept in a private organizer document, shared only with the team running that specific event, never published on this site.

Speakers and call for proposals

We collect talk submissions through Sessionize. Our call for proposals lives at sessionize.com/pyladies-vancouver-meetup.

Talk formats we accept

  • Lightning talks: 5 minutes
  • Standard talks: 15–30 minutes
  • Workshops: up to 2 hours

No experience is necessary to speak: we welcome first-time and seasoned speakers alike. Point prospective speakers to the Speak at our meetup guide.

Working with Sessionize

Once talks are accepted and speakers confirm, Sessionize holds the session titles, abstracts, and speaker bios. Organizers can pull this data from the Sessionize API to fill in the event page and recap, instead of retyping it: there are read-only API endpoints for sessions and speakers.

Checklist 0/3 done

Once a talk is accepted

Accepting a talk starts a small sequence, and the speaker cannot do their part until we do ours. Confirm the speaker, get them registered like any other attendee, and send them the prep guides. A first-time speaker will not know to ask for any of it.

What the organizer does

Checklist 0/11 done

Keep the promises small and specific. A speaker who knows the room, the slot, and the adapter situation walks in calm.

The confirmation message

Send this once the talk is accepted, adjusting the slot length and times to the program.

Hi [NAME],

Your talk **[TALK TITLE]** is confirmed for our meetup on **[DAY, DATE]** at **[VENUE]**,
[ADDRESS]. You have **[N] minutes**, and the talks run from [TIME] to [TIME].

**Please RSVP on Luma** like everyone else, so our headcount and check-in list are right:
[LUMA LINK]

**Please arrive by [TIME]**, ahead of doors, so we can plug your laptop in and check it on
the projector before the room fills up.

## Preparing your talk

Our guide walks through the whole thing, and it is worth ten minutes of your time:
[LINK: /lightning-talks/ or /speak/]

The short version:

- Pick one idea and cut the rest.
- Slides are optional. Big text, few words, and no live demo without a screenshot or a
  recorded clip as backup.
- Practise once or twice against a timer. Every slot is shorter than it sounds.
- Aim at a friendly, mixed-experience audience: assume curiosity, not expertise.

## What to bring

**Bring your own laptop** if you can. Tell us in advance if you need anything else:

- An adapter, or which port your laptop has, so we can have the right cable ready
- A laptop to borrow, if you would rather present from ours (send your slides ahead)
- Anything else that would make presenting easier

## A few questions

- How do you say your name, and how would you like to be introduced?
- Do you have any access needs we should sort out in advance?
- Anything else you would like us to mention when we introduce you?

## The rest

We will share the running order before the night, introduce you, and give you a gentle
heads-up as your time runs out. Questions from the room are friendly and optional: tell us
if you would rather not take any.

All speakers follow the [PyLadies Code of Conduct](https://www.pyladies.com/CodeOfConduct/).
If your plans change, tell us as early as you can and we will adjust the program. No
awkwardness, it happens.

If you would like to share your slides afterwards, we are happy to link them from the
recap. Entirely optional, and plenty of speakers would rather not.

Reply to this so we know it reached you, and ask us anything.

[YOUR NAME], PyLadies Vancouver

What the speaker does

The message above asks for all of it, but this is the short list to check against before the event:

  • RSVP on Luma, like any other attendee.
  • Prepare one idea, timed to their slot, with a backup for any live demo.
  • Bring their own laptop, or tell us what they need instead, in advance.
  • Arrive early, in time to test the projector before doors.
  • Share slides afterwards if they want to, so we can link them from the recap.

Prepare the event assets

Gather the images and graphics an event needs. Banners are 16:9, 1600×900px or larger, with text and logos centered (social platforms crop to roughly 2:1). All images live in static/img/ and are referenced as img/…; see Contributing for the full size guide.

Checklist 0/6 done

Create the Luma event

We publish each event on Luma, which handles RSVPs, reminders, and a subscribable calendar. Build the description from the confirmed Sessionize talk and speaker details, using the Luma event template below as your starting point.

Tips

  • Luma’s API requires a paid Luma Plus plan, so on the free tier we create events through the web editor. Luma supports Markdown, so the template pastes in directly.
  • Luma supports only two heading levels (# and ##), so keep the description to those.
  • Add the speaker photo(s) from Sessionize as the event/cover image.
  • Double-check the date, start/end time (leave room for cleanup), location, and capacity.

Once published, the event appears on our Events page and homepage through the embedded Luma calendar. Also add a page for it under content/events/ on the website, see Updating the website.

Luma event template

Paste this into the Luma event description (it’s Markdown) and fill in the talk and speaker details from Sessionize. Adjust the agenda times to match the program. Luma supports only two heading levels (# and ##).

The template below is for a single-talk meetup. For a night of short talks, use the lightning talks variant further down.

Join PyLadies Vancouver for our meetup at **[VENUE]**!

# [TALK TITLE] by [SPEAKER NAME]

[TALK ABSTRACT]

**About [SPEAKER NAME]**

[SPEAKER BIO]

[Speaker links]

## Agenda

- **6:00 PM**: Doors open, food & mingling
- **6:15 PM**: PyLadies intro & community updates
- **6:20 PM**: [TALK TITLE] ([SPEAKER NAME])
- **7:00 PM**: Fundraiser, swag & wrap-up
- **7:45 PM**: Event ends

## Support PyLadies Vancouver

Help us keep our meetups running: [donate to PyLadies Vancouver](https://psfmember.org/civicrm/contribute/transact/?reset=1&id=60)
to support the costs of organizing community events like this one.

We'll also be selling PyLadies tote bags in support of **PyLadies Vancouver**, and we'll
have conference swag to share!

## Thank you to our venue host: [VENUE]

Thank you to [VENUE] for providing the space for this meetup!

## Getting in

[Arrival and building-access instructions for attendees: which floor, how to be buzzed
in, parking and transit notes.]

## House rules

Please stay within the designated event areas. Photos of our event and attendees (with
their consent) are welcome. All attendees must follow the
[PyLadies Code of Conduct](https://www.pyladies.com/CodeOfConduct/).

Variant: a lightning talks night

A night of short talks needs a different shape: the lineup carries the description, and the call for talks usually stays open after the event is published, because lightning talk slots fill late. Lead with the RSVP, list the talks, then invite the remaining speakers.

PyLadies Vancouver and **[PARTNER GROUP]** are teaming up for a night of lightning talks:
short talks from speakers in both communities.

Doors at [TIME], talks from [TIME] to [TIME], then time to hang around and talk to people.
[Food note.]

## The lineup

**[TALK TITLE]**
*[SPEAKER NAME], [ROLE]*

[TALK ABSTRACT]

*(repeat per talk)*

## Want to speak? We have room for more

We're still accepting talk submissions for this event. Lightning talks are **5 to 15
minutes**, from either community. It's the lowest-pressure way to get on stage: you explain
one thing you know, and then you sit down. Beginners especially welcome, and you're welcome
to reuse a talk you've given elsewhere.

- [Submit a talk](https://sessionize.com/pyladies-vancouver-meetup/)
- [New to the format? Read our lightning talks guide](https://vancouver.pyladies.com/lightning-talks/)

## Where

**[VENUE]**, [ADDRESS]

[Transit, parking, and which door to use.]

## Cost

Free. When you get your ticket you'll see a pay what you want option with a suggested
**CA$10** donation, which goes back into snacks, supplies, and the room. It's entirely
optional, so if you can't donate, come anyway.

## First time?

Tell us when you arrive and we'll introduce you to someone.

PyLadies events follow the [PyLadies Code of Conduct](https://www.pyladies.com/CodeOfConduct/).
[For a joint event, link the partner community's code of conduct here too.]

[Full lineup and details on our website]([LINK TO THE ANNOUNCEMENT POST])

Thank you to **[VENUE]** for hosting us.

Notes on this variant:

  • Keep the call for talks in the description, and update the lineup as submissions come in. The event page under content/events/ and the announcement blog post should say the same thing, so all three move together.
  • A joint event needs both codes of conduct. Link the partner community’s alongside ours, and say so in the announcement post as well.
  • Name what the donation pays for. Free is not the same as costless, and a suggested amount with an explicit “come anyway” is clearer than an unexplained donation prompt.
  • Speaker names, roles, and abstracts come from Sessionize; see Working with Sessionize.

Other fields to set on Luma

  • Title, date/time (leave room for cleanup before the venue’s hard stop)
  • Location and capacity
  • Cover image: the speaker photo from Sessionize

Announce the event

Once the Luma event is live, announce it on Meetup and across all of our social media channels, pointing everyone to Luma to RSVP.

Checklist 0/5 done

People can also subscribe to our Luma calendar to get upcoming events in their own calendar app automatically.

On the day

On the day, the organizing team runs the show:

Checklist 0/5 done

Follow the venue’s access and conduct rules throughout, and make sure everyone is aware of the PyLadies Code of Conduct. Day-of venue access details live in the private organizer document for that event.

Wrap-up and recap

Wrap up the venue

After the event, reset the space to how we found it:

Checklist 0/4 done

Following the wrap-up steps carefully is what keeps us welcome to come back. The specific closing steps for each venue are in that event’s private organizer document.

Publish a recap

Write up a recap as a blog post: a thank-you to the speaker and venue, photos from the event, and a note about what’s coming next. This is also a good place to list other Python and open source events worth knowing about. Speaker bios and photos can be fetched with the Sessionize import script if the CFP ran there (see the contributing guide). See Updating the website for how to add a post.

Updating the website

The site is a Hugo project using the Popular theme, in our GitHub repo. Changes go through a pull request and deploy automatically via Netlify once merged.

The full guide (setting up locally, writing blog posts, adding events, banner image sizes, shortcodes) lives in Contributing to the Website. The short version for organizers running a meetup:

  • When the Luma event is published, add a page for it in content/events/. That powers the “Next meetup” section on the homepage and the upcoming/past lists on the Events page, alongside the embedded Luma calendar.
  • After the event, publish the recap as a blog post in content/blog/.