• Stars
    star
    1,050
  • Rank 43,891 (Top 0.9 %)
  • Language
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Did you like anything in particular about a conference? Let's make an awesome list 🎉

🙋‍♂️ Made by @thekitze

Other projects:

  • 💻 Sizzy - A browser for designers and developers, focused on responsive design
  • 🏫 React Academy - Interactive React and GraphQL workshops
  • 🔮 Glink - Changelogs, Roadmap, User Requests
  • 🐶 Benji - Ultimate wellness and productivity platform
  • 🤖 JSUI - A powerful UI toolkit for managing JavaScript apps
  • 📹 YouTube Vlog - Follow my journey

Zero To Shipped


awesome-conference-practices

Did you like anything in particular about a conference? Did you hate anything? Let's make organizing conferences an easier task 🎉

The initial document is pretty one-sided, biased, and based on my own experience and perspective. It's probably missing tons of things. That's why it's on GitHub and it's not a Medium article. Please help me cover everything and make this document amazing 😍️

If you're lazy to send a PR you can also tweet me things and I'll just add them here.

Communication

📄 Speaker selection

Most conferences tend to pick a few speakers to invite and then hold a Call for Papers (CFP) for the rest. Here are a few points to help guide your speaker selection process:

  • State how long the talks are. For some people this can be a big deciding factor due to the topic of their talk.
  • If you have a theme in mind for the event, say so!
  • Publish talk title suggestions, if you can think of some. It might help some first-timers over the hurdle when they know what topics will be appreciated.
  • Don't expect a preview or run through of the talk as part of the selection process. A lot of people will either still be working on the talk, or not have written it yet.
  • Say how many spots you're looking to fill. Break this down by how many you're inviting and how many you'll be selecting from the CFP.
  • Don't start announcing the lineup before you've emailed everyone who responded to the CFP. It really sucks to find out that you didn't get accepted by seeing the lineup being announced.
  • Clearly state when the CFP closes and when the applicants should hear back from you. If dates slip, let people know rather than keep them in the dark.
  • It's better to have an online application form for speakers with all information above plus structured questions about their topic, equipment requirements and target audience.
  • Doing blind selection of the talks? Good for you! Also: let people know and ask them not to include any hints to their identity in their abstracts.

📧️ The Bible Email™️

For God's sake don't send out a huge email the size of the Bible with all the information about the conference because nobody will actually read that. Send information in smaller relevant chunks. Before I arrive you can tell me about the travel and accommodation arrangements. After I arrive you can inform me about the rest of the stuff that I need to know, etc.

🗓️ Calendar invites

Send calendar invites for every event at the conference. Attach locations and descriptions to the events. Speakers dinner, my talk, mic-check, after-party, hiking, that extra tour, etc. Then every speaker can accept the events they want to attend and they don't need to open that huge email 90 times in order to figure out what's going on.

😂️ Sending the talk upfront

LOL, it's never gonna happen. Most of the speakers finish their presentations on the flight to the conference, or at the actual event, so just don't bother. Nevertheless it's better to provide them with clear milestones about drafts submission, arrival time and so on.

🤦‍ Native app

Do not, I repeat, DO NOT make a native app. Most of the people won't even bother to install it and those who do will just delete it after the conference is done, so it doesn't make any sense. Make a nice Progressive Web App instead, it's the perfect use case for it.

🏨️ Accommodation

  • When the conference venue is in the hotel where the speakers are staying it's just amazing. If this isn't practical, then the venue and hotel should be within close walking distance. Having access to your room in order to practice your talk, or go for a nap, or cry a bit because you agreed on doing a talk but you're having second thoughts ... it's just the best.
  • Ask speakers if they want to stay on a boat? It sounds interesting but some people may not enjoy it.
  • Attempt not to split speakers in different hotels
  • Access to fitness equipment of some sort is always a nice bonus. Sometimes a conference will require a speaker to travel for almost a whole week. That's a long time to put off exercise.

Transport

✈️ Booking flights

There are 2 options here:

  • Let me know the travel budget, book my own flight/train/bus, and invoice you later
  • Let's have a short call about it

Sadly, the option we always end up with is sending 20 emails back and forth until this is arranged.

🛬️ Airport to Hotel

This is totally not necessary, but after a full day of travel, it's nice when someone just picks you up from the airport and takes you directly to the hotel.

🚙 Uber

If you want to give speakers a cool way to see your city and/or get to and from other modes of transit, consider setting up an Uber for Business account that you add the speakers to. You can limit the # of trips per day and the cost per trip. Your speakers can use it to get to a local landmark, restaurant, or to their hotel.

Finances

💰️Travel and accommodation

The talk is only 30 minutes, but in order to give that talk, we spend weeks preparing and often spend days traveling. You're unlikely to get speakers from outside of your region unless you can pay for travel and accommodation costs. Some speakers will pay their own way or have an employer who can afford to, but many can't. They either won't submit, or will ask you about travel support.

Mark your CFP clearly with whether you can provide support, how much, and how the speaker can request it. If you can commit to a certain amount for every speaker, that's better than "support available upon demand".

Many conferences are non-profits on limited budgets, or even free conferences. If you can't afford to cover travel expenses, be clear about it upfront.

💸️ Workshops

There are conferences who are not paying the trainers and that just blows my mind. Maybe it's because right now it's my primary source of income and I wouldn't do it for free, but I'm pretty sure that there is something wrong here. If you're making extra money from a workshop you should pay the trainer at least 50% percent of the profit, period. Otherwise, you should list the speaker or their company as a sponsor.

Also, you should notify participants about workshops schedule in advance to give them time to think and schedule their timeline.

😶 The talk

If you decide to pay one speaker, pay all of them. This kind of information leaks out and it makes you look like a douchebag.

The actual conference

👲🏽🎅🏾🧛‍🧝‍👨🏼🧕🧚‍ 💁🏻‍ Diversity

You would think that by now conference organizers finally figured this out, but you would be surprised. Just don't do a conference with 80 male speakers, or 80 female speakers, or any 80 speakers of the same gender/nationality/race/age/etc. Make sure to strike a nice balance and invite people of every gender, nationality, race, and age. Don't discriminate on any level.

🚻️ Speakers room

So many conferences got this wrong, and it's so simple. It shouldn't be anything fancy or crazy, just make sure you have the basics:

  • Have 👏️ good 👏️ WiFi ️️👏️ coverage.
  • Have 👏️ extra ️️👏️ extension 👏️ cords.
  • Have 👏️ some ️️👏️ food 👏️ and 👏️ water.
  • Have 👏 comfortable 👏 seating.
  • Have 👏 somewhere 👏 quiet.

🍗 Food

  • Running out of food can make the conference a bad experience for attendees. If you can afford it, order extra lunches. If lunch is served during a short period of time, try to have packaged snacks that can sit out longer.
  • Have a variety of food for breakfast and lunch. Assume there will be people will allergies and different food preferences (Vegetarians, Vegans, gluten free, Pescatarians, Pesca-pescatarians, etc.). Clearly label any food intended for these groups and keep it separate if possible so that it doesn't get taken by those it isn't intended for. If possible, ask for food preferences/restrictions during registration and set aside special food so it doesn't get taken on accident.
  • If people are paying more than 300 euros for the conference and your breakfast is just one croissant ... don't even get me started. Fix that.
  • If the weather is hot, have an ice-cream fridge. This was an amazing idea by the JSHeroes conference, and everyone enjoyed it 🍦️
  • React Rally gave everyone a prepaid debit card to spend at restaurants in the city and then the time for you to eat a good meal. It worked out as a great way to get to know the location and other people you went to lunch with. If you do this, you may need to extend your lunch period to give people time.
  • Schedule an early lunch for people who work at the sponsor booths. They also get hungry, but they can't leave the booth during the lunch break. And making them eat at the booth during the break is not cool either.

Scheduling

  • Plan 5 minutes for each speaker switchover within a block of talks. Most of the time it won't take this long, but the buffer is useful for overruns and tech issues. If you don't use it -- hey, longer breaks.
  • Plan extra 10 minutes for the first block of talks on the first day. If there are still registration queues by the scheduled start time, delay the start (or run a longer intro). It sucks to be the first speaker when people are still wading after you've started.
  • 30 minutes is an absolute maximum talk length, unless there is a very good reason.
  • Consider having varying talk lengths. Having only 30 minute talks can feel monotonous - throw in some 15's or 20's to keep the rhythm dynamic.
  • Have many, long breaks. While the talks are interesting, the real magic at conferences happens in the conversations with people who are as passionate about the topic as you are. React Rally is one of the conferences who does this really well with a 30 minute break after every 2 talks.
  • Schedule a big-name speaker to the final block of the day so people are more likely to stay for the whole day - if you're a new or less-known name, it sucks to speak at the end of the day to a half-empty audience.
  • Keep a timer somewhere in the front row where the speaker can clearly see it.
  • Make sure the speakers understand that it's crucial to fit within their allocated timeframe. Don't allow them to overrun by too much. 1-2 minutes is acceptable, but 5 might not be.
  • If your schedule is running behind, do not interrupt the speaker before the allocated time ends. Allow your schedule to be a bit flexible. If you're 10 minutes behind, take 5 minutes from the next break or from the lunch break, but let the speakers finish their talks. It's all about respecting the work they put to be on stage.
  • The order of the talks is important, pay attention to it when building the agenda. Never schedule a detailed talk on a technology (ex: GraphQL) before a talk introducing it or revisiting its basics. Each talk should lead to the other in a nice flow, so the audience gets the best out of it.
  • Make sure the talk after the lunch break is entertaining - both speaker and content - or you risk people falling asleep!
  • If you have a 2-day or a 3-day conference, you might consider that during the last half of the last day people will not be able to stay focused as in the first part. Try to schedule lighter topics at that time, avoid talks that do coding demos or require a lot of processing.

🛤 Multiple tracks

  • Uh, try not to have multiple tracks? This sucks both for the attendees and the speakers.
  • If you have multiple tracks, make sure there's a tabular schedule that makes it easy for the audience to pick the talks they want to attend in each block.
  • If you have multiple tracks with multiple talks per block, have same-length talks against each other so that people can move between tracks within a block -- or explicitly ask attendees to not do this, if the venue does not suit this without disturbing the presentation.
  • Don't allow people to dodge the important talk on empathy or 'soft topics'. These are things that affect all of us, which hardly goes to say for the internals of TypeScript.

🙄️ Intro

I cannot stress this enough. Don't have a long conference intro. Yes, I know you have 95 sponsors and you want to thank everyone including the city mayor and Janice in accounting but people are just so anxious to hear the first speaker that they're not even listening to you. The intro should be short and sweet and then you can announce the rest of the information before the breaks or when the next speaker is preparing on stage.

🎤️ MC

An MC can either make or break a conference. Make sure that you get the right person. Don't fall into the trap of just hiring a random person that's popular in the community, because they might be terrible with audiences.

The MC's job is simple, but not easy:

  • Keep the event on schedule
  • Keep the audience engaged, entertained and energized
  • Keep up the momentum during speaker switch-over. There should never be dead air.
  • Hype up and introduce each speaker in a way that raises their profile and that they feel comfortable about. Never make jokes or about the speaker without their prior approval.

In addition to introducing the speakers, the MC should support speakers during the event. If the MC is not available to do this, another person should ensure the following gets done:

  • Make the speakers comfortable and tell them they are going to be amazing. Even experienced speakers can get the nerves.
  • Make sure speaker does a tech check well in advance in time to fix any issues, ensure their laptop is charged and notifications turned off, etc.
  • Run speakers through the process (when to show up to get mic'd, how Q&A works if there is one, etc.)

🏷 Badges

  • One-sided badges are terrible. They will twist and turn all the time and you gotta make sure that people can read your name. Print the same info on both sides.
  • Find a way to include the conference agenda on the badge. It's just amazing. Here is an example.
  • Include Twitter nickname on badges? When Derp Derpowski approaches you, you will have no idea who they are, but if you see @zderp you'll be like "YO WHAT'S GOOD I KNOW YOU FROM TWITTER". Please do it.

📽️ Equipment

  • Don't make me hold a microphone, please. I may have some live-coding examples and I want to have my hands on the keyboard.
  • Don't mic up speakers on stage, it's just awkward.
  • It's also nice when the headworn microphone is not a big, bulky, black ball that covers the entire side of my face.
  • Don't have a bunch of spotlights right in the speaker's face.
  • Make sure people can read code from the projectors. A low-budget projector simply won't cut it.
  • Have every type of adapter. Yes, some people with have the new MacBook Pro with a single USB-C port, and you being judgy about it won't help them connect to the projector. Just have the adapter ready.
  • Use a cable, please. Connecting to the projector via AirPlay or Chromecast sounds good in theory, but there are always unexpected problems with it. The 3-5 second delay when changing slides can ruin a presentation.
  • Be prepared for a speaker wanting to play audio, so have a 3.5 mm (headphone) jack available that hooks up to the speakers and session recording.
  • Make sure your audience seating is comfortable. Your attendees are going to be sat down for most of the conference and uncomfortable seating will lead to them losing attention, fidgeting and possibly being in pain after the conference.
  • Have a clicker available so people can move from behind the speaker table.
  • Have the most common charger cables available.

🐦️ Live Twitter feed

Do not, I repeat, DO NOT show public unfiltered tweets on a screen. It may look fun but it always goes south. People are dicks. If you want to do this you should have a person that's gonna choose approved tweets.

After the conference

🎁️ Speaker Gifts

I don't think that anyone would complain about this, no matter what's the gift (except someone told me that sometimes they cannot transport the gift because they don't have enough space etc.) If you need speaker gift ideas:

  • Socks
  • T-shirt 🙄️
  • Sneakers
  • Chocolate with the conference logo
  • Handwritten note/letter
  • Keychains
  • Mugs & Coasters
  • A regional gift, specific to where you organize the event

Also keep in mind that certain items are not allowed on a plane (wine bottles, certain kinds of meat, etc.) and many speakers will travel with hand luggage only.

🌐 Update the conference website

It looks odd if you still have a link to buy tickets on your website after the conference is over. Or advertise last minute tickets. Instead show video recordings, workshop outcomes and anounce next years conference.

Extra ideas

📧️ Feedback envelopes

I loved this idea! JSHeroes had a booth where everyone can write a small note and put it in an envelope for the speaker to read it. At the end of the conference, we got our envelopes and it felt nice to read the notes and bring them home as a physical memory.

More Repositories

1

JSUI

A powerful UI toolkit for managing JavaScript apps
JavaScript
4,244
star
2

react-hanger

A collection of useful React hooks
TypeScript
1,935
star
3

react-genie

A set of React components for animating elements as they scroll into the viewport
TypeScript
747
star
4

twizzle-landing

The landing page for Twizzle
JavaScript
644
star
5

mobx-router

A simple router for MobX + React apps
TypeScript
509
star
6

react-electron-example

An example of using React (create-react-app) with Electron
JavaScript
349
star
7

twizzle

A desktop app for Twitter DM & composing tweets from the menubar. Works on macOS, Windows, and Linux.
JavaScript
275
star
8

styles-debugger

A helper for visually debugging styles in CSS-in-JS
JavaScript
130
star
9

copy-lite

Copy to clipboard function with no dependencies
TypeScript
119
star
10

react-tiniest-router

The tiniest router for React, built with hooks
TypeScript
105
star
11

graphql-user

Reusable utility methods for GraphQL authentication in Node.js
TypeScript
104
star
12

react-long

A LongPress component for React
JavaScript
88
star
13

voice-command-list

Temporary repository for the voice-command-list project.
88
star
14

react-disable

A React component for disabling a section of an app
TypeScript
77
star
15

react-in-markdown

Render custom React components in Markdown
JavaScript
67
star
16

gtb

Gulp The Builder
JavaScript
40
star
17

twiwdev

This Week In Webdev
27
star
18

tired-of-webdev

26
star
19

kitze-js-helpers

JS helper functions
JavaScript
25
star
20

phone-browser

Source code for why-iphone-x
JavaScript
22
star
21

mobx-router-example

MobX router example
JavaScript
20
star
22

rttr

A tiny router for mobx-state-tree apps
JavaScript
13
star
23

shortcuts-to-icloud

Watch a folder with js shortcuts for Siri and transfer them to iCloud on every change
JavaScript
13
star
24

extension-twitter-no-views

Hides the annoying view count on Twitter with CSS
Shell
12
star
25

payment-gateway-calculator

A calculator for comparing fees and profit between different payment processor gateways
JavaScript
11
star
26

react-genie-emotion

Animations for using react-genie with emotion
TypeScript
9
star
27

styled-mixins

A collection of css-in-js mixins
TypeScript
9
star
28

apollo-react-user

Opinionated package for adding authentication to a React + Apollo app
TypeScript
8
star
29

kitze-sass-helpers

Helpful sass mixins for generating BEM syntax and making SASS development easier
CSS
6
star
30

react-plop

React templates for plop
JavaScript
6
star
31

prisma2-template

TypeScript
5
star
32

snakepong-gpt-4

snakepong game made by GPT-4
JavaScript
5
star
33

react-academy-labs-starter-2

JavaScript
4
star
34

mantine-layout-components

Horizontal, Vertical, and Grid components for Mantine
TypeScript
3
star
35

fakeGPT

generate fake screenshots of conversations with chatGPT
TypeScript
3
star
36

mobx-router-landing

A landing page for mobx-router
JavaScript
3
star
37

stylz

Mixins and helpers for writing styles in JS
JavaScript
3
star
38

react-genie-styled-components

A set of animations for using react-genie with styled-components
TypeScript
3
star
39

postgres-s3-backups

TypeScript
2
star
40

hello-github-actions

2
star
41

kitze

1
star
42

react-academy-graphpack-starter

JavaScript
1
star
43

electrontest

electron
JavaScript
1
star
44

kitze-react-plopfile

My plop setup for quickly generating react components
1
star