I have been organizing the PHP Usergroup Duesseldorf for about four years now, a monthly meetup focused on web engineering and new trends in this area. I do this with a friend, 100% non-profit and motivated by our passion for open source, learning, meeting motivated people, and fun.

The last time, many people asked me about my experience and if I can share some tips or what is important when starting a new meetup (and I asked for it). In this post I summarize all of that and provide tips, tricks and my lessons learned.

New meetup or existing one?

If you’re considering starting a new meetup in your area about a topic you love, please do a little bit of research in advance. Often there is already a meetup in an acceptable distance to your location about the same topic. Meetup.com is a perfect platform to search for meetups in your location.

But why should you do this? The reason is simple: Most meetups won’t survive. If you own a profile on Meetup.com you will get emails if new meetups from your area will be founded. I get those e-mails every week.

The story is often the same. They register and start a meetup. They add a first meetup date without a location and a topic (everything marked as TBD). The first people join the group. If you are lucky the first meetup takes place, but often this is also the last one. If you are unlucky the first meetup will be canceled due to no location or topic. A new meetup cadaver was created (sorry to be so harsh, but this is often the truth).

Many people want to start their own meetup. If you found a meetup for your topic in your area, I suggest to visit it a few times and start to become an active member there. You can contribute in many ways, e.g. give a talk, spread the word, organize goodies or get in contact with the organizers and ask how to help. Often this adds more value than starting a new one with the same topic.

If there is no meetup like yours and you want to start a new one, take some time to think about it and if you have the time to run it. Running a meetup takes time and effort.

Choose a meetup name wisely

Many technology related meetups are named after a tool, framework or programing language. Examples are Symfony User Group Cologne, Berlin Mesos User Group or even the PHP Usergroup Duesseldorf.

In my opinion this is not the best choice in the long run. If you start with this name you will have topics for the first 6 up to 9 meetups. After some time you will run out of speakers or topics dedicated to this topic. In most languages, framework or tools, the changerate is not high enough to hold talks dedicated to those for a long time. In those cases you will start to use talks or topics that are connected to your meetup name. And this is fine as well, but might lead to confusion.

We (PHP Usergroup Duesseldorf) had exactly this experience. Furthermore: New people, who don’t like PHP as a language, don’t join meetups on the first glance, because they think every talk is PHP related. For our meetups this is not true, but how would they know?

We run meetups with talks about JavaScript, CSS projects, NoSQL databases, Agile project management and topics that will be touched in web development. We struggled some time with the question if we should rename our meetup. We were afraid to lose our marketing (Twitter, word of mouth). But now we decided to rename the PHP Usergroup Duesseldorf to Web Engineering Meetup Düsseldorf.

Do it every month

If you start a meetup, not many people will know it. This leads to a small number of people at your first events (especially in non tech areas, I’m not talking about Berlin, Hamburg, San Francisco, …). This is sad and you will feel disappointed. But you don’t have to be disappointed. This is normal.

If you run a good meetup people will come. People will know your meetup after some time. Word of mouth marketing needs time. If you run your meetup regularly (like every month), people will appreciate it. This helps to stabilize the number of people per meetup.

Prepared room of the July 2016 meetup

In the first year of the PHP Usergroup DUS, 4 up to 8 people showed up for the meetup. It was great. We were a small group and everyone knows everyone. After some time we were getting more known in the city. Now, after nearly 4 years, 45 to 80 people show up every month.

Take your time. To build a well visited meetup, you need time and stamina.

Don’t do it alone

To organize and run a meetup you need time before and on the event day. Before the day, you need to reserve a location, organize a speaker, check and order drinks, food and equipment. On the event day you need to mark the way to the location, create a small welcome presentation and prepare the room. After the crowd is gone you (mostly) need to clean up.

You can do this alone, but my recommendation is: Don’t underestimate the effort to organize a meetup.

When the meetup is getting bigger and bigger the preparation is more stressful. Or sometimes you are not able to be there on the meetup day itself (due to private reasons). In that case one or two friends who help to organize this event can take over.

In the past I did it alone. I know how much work it is and how stressful it can be. After I asked two friends a meetup day is much more relaxed. Everyone can take over one or two tasks, in our case it helped to scale our preparation by involving more people.

Choose the right platform for announcements

People need to know when and where your next event takes place. A good platform can save you a lot of work here. Personally I prefer Meetup.com, and many other meetups do as well.

You set up a new event at Meetup.com and they will send out emails, reminders, iCal entries, provide a comment section, a place for your sponsors, configure a payment for your event and much much more. A platform built for Meetups. Obvious, right?

Even if this platform costs money as a meetup organizer it is worth it. Ask a few companies who are active in the topic your meetup is about. Mostly they are happy to sponsor you this fee in exchange for a sponsor logo on the meetup page.

Some other meetups choose twitter or XING as platform (like Düsseldorfer Java User Group). Be aware, not everyone is a fan of Twitter or uses it at all. This means they would miss your announcements. Email is still the best way of communication for the most people.

The PHP Usergroup DUS started with XING as platform (a kind of German LinkedIn). It worked quite well for ~1 12 years. But we mostly attracted German people, because XING is a German network. After a switch to Meetup.com, more and more international people joined our group. Our userbase grew and we (the organizers) had less work to do, because XING is lacking a lot of useful features.

Choose the right location

A good / usable location is important for the meetup. The usefulness of the location depends on the meetup content. If you plan to have a speaker and presentation, the pub at the next corner might be the wrong place. Most of the tech meetups I know are held in the offices of local tech companies.

A small or big conference room is a perfect start, because they are well equipped with a table, chairs and a projector. If you grow and your need more space, have a look at local co-working spaces. A lot of them are willing to sponsor you a location / their main hall for your meetup.

Prepared room of the July 2016 meetup

With the PHP Usergroup Duesseldorf we started in a conference room from TWT (a web agency from Düsseldorf). After some time we moved to the conference rooms of trivago, because the organizers switched their work place. After ~1 year at trivago, the conference room was getting crowded. Luckily trivago offers a big kitchen with everything we need (beamer, audio, chairs, fridge, etc.) for ~200 people. Other companies in our area doing exactly this as well (like sipgate).

Pro tip: If you found a location, don’t forget to mark the way to the meetup with paper signs. Not everyone knows, where the company is located or where they can find the correct room.

Pro tip 2: If you are looking for a meetup location in Düsseldorf (Germany), Leipzig (Germany), Amsterdam (Netherlands) or Palma de Mallorca (Spain), get in contact with me.

Video and Audio

Sometimes people are not able to join your meetup, but they will want to see the talk. For this video recording is perfect. Some meetups offer this.

At PHP Usergroup Duesseldorf we don’t record the talks. We tried it, but we are (right now) not able to put the effort into the video editing to reach the quality we want. You need to record the speaker, the audio and the speaker’s screen to catch the slides, cut all together, keep it in sync and upload it to a portal like YouTube or Vimeo. Do not underestimate the effort necessary to record your meetups in high quality. People will not enjoy watching a video with low quality.

Audio is a different topic. Depending on the size of your room it might be suitable to offer a proper audio setup with microphones. If you a running your meetup in a small conference room with ~15 people you often don’t need this. But if you use a bigger room with >30 people, think about it. The benefits are clear: The speakers don’t have to shout and the people will understand the words of the speaker even better.

Date of the meetup

This is a difficult topic. I recommend to hold meetups during the week and not on weekends. The best days are Tuesday, Wednesday or Thursday. On the weekends you have your private life, friends and familiy. On Monday there is so much to do at work that most people are not motivated to attend a meetup. On Friday many people will or want to leave early into the weekend.

These days most meetups run in a plannable interval like every first Tuesday in a month or the last Thursday in a month. This is fine and has a lot of advantages like planning of dates and reserving the location. You are able to avoid collisions with other meetups in your near area (if they choose a different interval than you).

But I prefer a different pattern: Be flexible with your date. At PHP Usergroup Duesseldorf we prefer the Thursday to hold our meetup. But we don’t have a specific Thursday (like every second in a month). We specify our date according the availibility of the speaker. We ask the speaker when they have time and at what Thursday we will fit into their schedule. This way it is easier to get speakers and they are not limited to a specific pattern for the dates.

But this way has disadvantages, too. If you don’t own your meetup location, this pattern is hardly doable. Not every location is available at every Thursday. So planning ahead is a must. Collisions with other meetups in your local area will happen. But those will happen anyway (even with the pattern interval described above), when the overall meetup community in your area grows. In bigger cities like Berlin, Hamburg or San Francisco this is already the situation. There are meetups every day. In Düsseldorf this is coming right now, but we talked to a few meetup organizers and everyone is ok with this (we are friends and support each other). Last but not least: You will never find a date that suits everyone. There are people who are not able to join, regardless of which date you choose. This can take some getting used to but is fine.

Organize a speaker or meetup topic

If you start with your meetup, you will find a few speakers quite quickly. To find a speaker for every meetup (over a long time) is not an easy task.

The speaker needs to be in your area / city (living, job related or for a visit). They need to offer a talk that fits into your meetup topic and speak your meetups language (e.g. the local language or English).

Start to organize an event and contact possible speakers early (e.g. 2 month in advance). Many people are stressed and short on time. They need time to answer and to plan. And maybe you need to send multiple emails back and fourth until you are able to confirm and setup the meetup.

Most of the meetups run one talk per evening for a length of about ~45 minutes. In the last year I started to play around with this concept a little bit at PHP Usergroup Duesseldorf. On some evenings we run three talks each 20 minutes long, On some evenings two talks with 30 minutes each. This works quite well. It is easier to find multiple speakers who are able to speak for a shorter time frame about a topic instead of one speaker that talks for 45 minutes. Even bigger conferences adapting this pattern more and more.

Matthias Endler on the April 2016 meetup

During a meetup I talk to a lot of people about public speaking. I tell them that I provide a stage at this meetup where you can test things out. Try to motivate people from your community and local meetup to get on stage for the first time. A meetup is the perfect place for this, because it is a small location with a small amount of people. To get on stage and talk about a topic the first time can be an overhelming experience. Many people have to leave their comfort zone for this, but this is exactly the time where you learn the most.

Most of the tech people have the problem that they think their knowledge is well known to others. Or they are exited about a topic, they dive in and get known to it and after they know how it works, they are bored. They think that everyone knows about this, because they know it. I have this problem, too. But I know that this is a lie. Everyone knows something that is interesting for others. You don’t need to talk about the newest hipster technologies out there. Most of the people are interested in real life challenges from your day to day work. Talk to them and offer them a stage to test things out. And because you (as an organizer) talk about this, you have to prove it and get on stage from time to time yourself.

At PHP Usergroup Duesseldorf we get speakers via the way described above or by asking people on Twitter. Sometimes we get contact details for speakers from other meetups or we ask speakers from conferences nearby if they want to present their talk at our meetup. If your meetup is well known, sometimes speakers will contact you, because they know that it is possible to test talks for bigger conferences at local usergroups and improve them after.

An alternative to talks are workshops or hands-on sessions. You will be suprised how many people will join to learn something new for free. Start with a Git workshop and try it out.

Play around with the concept and content of the meetup.

Drinks and food

Most meetups offer drinks and / or food. This is great, because many attendees are joining you directly after their full time job without a stop by at home. They are hungry and thirsty. This is a good start for a good evening and chatting with a beer or a coke is much easier ;)

Like the location - ask well known companies in your area to sponsor this. If you run a PHP meetup, ask a web agency, etc. Depending on the amount of people and what you order per meetup it costs ~100 up to ~250 €. A few pizzas, salads, beer and non alcoholic drinks are enough. This is not a must, but makes things easier.

At the PHP Usergroup Duesseldorf we provide drinks and a few sandwiches. They are available for the employees anyways. So we were lucky and trivago is able to sponsor everything for us.

Sponsoring and goodies

If your meetup has a decent amount of people (> 30 people) joining every month, many companies are willing to deliver you goodies. Those goodies can be a nice addition for the attendees.

It only requires a few emails from your side. Just drop a request to the company, explain what you do, how many people are joining and what are common topics for your meetup. I recommend to run a few meetups before you ask to prove that you are stable. This helps to get a positive answer.

Here are a few companies I know that offer meetup sponsoring:

Welcome and basic instructions

You have your meetup planned and the day is here. People are entering the room, getting a drink and you are ready to start. Start with a small 2 or 3 minute long welcome presentation. This can be helpful for people who are there for the first time. Explain a few organisational things, so that the people don’t need to ask.

Content that should be part of the welcome presentation:

  • Name of the meetup
  • WiFi access
  • Office / location rules (what is allowed, what not?)
  • Where are the toilets
  • Announcements of other events like
    • other meetups in the area
    • conferences / hackathons nearby
    • your next meetup
  • Speaker and topic of the day
  • If you offer a socialising after the talk or if the meetup ends directly

After this you can hand it over to the speaker, the talk will start and you can relax.

Socialising

Before the meetup starts, people will arrive at your location. Some people join early, some late. Offer them drinks (or tell them where they can get drinks). Say hello and introduce yourself. Especially people who are joining alone will appreciate this, as they will then know at least one person already.

After the talk or presentation many people will leave the location. But some people stay to socialise even longer. They start chatting with the speaker or about the content of the presentation. Be aware: Sometimes it can get late. Some people are chatting and chatting and (almost) don’t want to leave. If you need to get up early the next day, set a fixed end time for your meetup.

A positive side effect of socialising: Your network will grow with more and more meetups. This can be useful in the future (e.g. to find new speakers).

Respect

This is the most important point. Be respectful to each other.

People will join your meetup to get to know new people, new topics, new areas and get new experience. Not everyone is on the same page. Not everyone has the same level of knowledge. But what everyone has in common: They are motivated to learn and to meet new people. Otherwise they would not join your meetup in their spare time.

You might ask yourself: Why does he mention this? Because I met people at a meetup they said something like Next time I won’t join. This talk was fucking boring and the speaker was shit. And i hate this topic anyway. I immediately left the conversation. In my opinion there was someone who put effort in preparation and leaving their comfort zone to tell the audience about a topic. And you need to appreciate it, because this is not easy and is not done in 5 minutes.

After I talk I spend a few minutes with the speaker, say thank you for their time and effort and provide feedback. What was good? What can be improved? Sometimes I ask the speaker if they are interested in speaking at a conference or at other meetups. Then I forward the talk to some organizers around.

Please keep this (and much more around this topic) in mind. One way is to setup a Code of Conduct.

Money and non profit

Some meetups are backed by money and they are able to pay speakers. With this they are able to hire more well known speakers, pay them a fee, accommodation costs and attract more people. Some meetups charge money for the entrance. For German meetups this is not common. I often see this in US meetups. Both are completely fine.

At PHP Usergroup Duesseldorf we try to keep money out at as much as possible. We are a community based meetup that is organized out of people who love what they do. The only driver is passion and motivation to learn more. I personally think that money will make everything more complicated (this is only my opinion). Up to now (experience from ~4 years) this worked quite well. Sponsoring like food, drinks, locations, goodies, etc. is a different thing. Think about it if you are able to back your meetup with money or not. This can lead to a big advantage if you are able to pay speakers.

and much more …

I am sure that this is not the complete list of things you need to think about when you start and run a meetup. But this are the most common things.

Once more points come to my mind I will update this post (or start a new one if I got many new points).

Let me know if these points were helpful for you or if you share the same or a different opinion.

Why we do this?

You might ask yourself why we do all this, put all this effort in and all this burden on our shoulders to organize events like monthly meetups. The answer is simple: Because of you.

  • We love to work with motivated people.
  • We love to meet people who are eager to learn.
  • We love to learn about new topics.
  • We love to have fun conversations with like minded people.
  • We love to see people have fun at events we created.
  • And we love to see people grow when they are on stage for the first time.

Start getting involved in a meetup. As a visitor or an organizer. You will see it is a great experience.

Side story: We had an attendee who came from Egypt and was on a business trip in Germany. He visited our meetup and on this date we offered a introduction into Git with a small hands on session. He had a lot of fun. After some weeks, I recieved an email from him. He told me that he went back to Cairo, Egypt and started his own meetup to teach people about Git. He said that his first event was a great success. Those stories keeps us motivated.

More to read

If you still want to read more about this topic have a look at Running a Go Meetup or 25 Best Practices for Meetup Organizers.

Many people are sharing their experience in the related reddit thread for this blog post.

You run a meetup?

If you run a meetup or visit meetups on a regular basis, feel free to share your lessons learned in the comments. I would love to read them.

Typo?

Found a bug in this article? Feel free to create a pull request at Lessons learned from running a local meetup at github.