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 essential 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 neighborhood.

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 appear. 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 six up to nine meetups. After some time you will run out of speakers or topics dedicated to this topic. In most languages, framework or tools, the change rate 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 sometimes struggled 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 an excellent 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 for the July 2016 meetup

In the first year of the PHP Usergroup DUS, four up to eight 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 four 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, the 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. An excellent 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 the 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 lacks a lot of useful features.

Choose the right location

A good/usable location is essential 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 you 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 for 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 workplace. 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 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 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

The date is a complicated 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 family. 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 the planning of dates and reserving the location. You can 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 to the availability 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. Some people are not able to join, regardless of which date you choose. This can take some getting used to but is okay.

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., two months 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 forth until you can confirm and set up 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 can speak for a shorter 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 a perfect place for this because it is a small location with a small number of people. To get on stage and talk about a topic the first time can be an overwhelming experience. Many people have to leave their comfort zone for this, but this is 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 excited 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 to 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 user groups and improve them after.

An alternative to talks are workshops or hands-on sessions. You will be surprised 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 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 an enjoyable evening and chatting with a beer, or coke is much more relaxed ;)

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 number 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 can 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 your goodies. Those goodies can be an excellent addition to 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 typical topics for your meetup. I recommend running a few meetups before you ask to prove that you are stable. This helps to get a definite answer.

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

Welcome and necessary 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 organizational 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 socializing 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 socialize 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 talking and talking 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 socializing: 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 crucial point. Be respectful to each other.

People will join your meetup to get to know new people, new topics, new areas and gain unique 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 annoying, and the speaker was shit. And I hate this topic anyway. I immediately left the conversation. In my opinion, there was someone who put an 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 other meetups. Then I forward the talk to some organizers around.

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

Money and non-profit

Some meetups are backed by money, and they can pay speakers. With this, they can 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 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 can back your meetup with money or not. This can lead to a significant advantage if you can 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 is 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 like 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 like 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 an introduction into Git with a small hands-on session. He had a lot of fun. After some weeks, I received an email from him. He told me that he went back to Cairo, Egypt and started his meetup to teach people about Git. He said that his first event was a great success. Those stories keep 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.