Skip to main content

10 things that I learned from organising a meetup


For the last 9 months I have co-organised and presented Machine Learning Dublin, a meetup group started by ADAPT Centre that rapidly grew from 0 to 1350 members. Now that I have stepped back, I want to share ten lessons that I learned through this wonderful experience.
  1. Form a great team. The effort to organise a meetup is largely underestimated: it can easily take you 30 hours per event. Make sure you have a good team of at least 4 people and assign responsibilities: finding speakers, sponsors and venues, presenting, managing website and social media, registration desk, etc.
  2. Secure great venues. The event space plays a fundamental role in the success or failure of a meetup. Secure nice-looking event spaces in the city centre that are easy to find by the attendees. Some topic-related companies, startup incubators and co-working spaces might offer their facilities for free.
  3. Be picky about speakers. Select 2 or 3 good speakers per event that engage with the audience and you will see the community grow. Make sure the topics are relevant and strictly forbid sales pitches. After a few full-house events you will have great speakers queuing to participate in future events.
  4. Don't accept any sponsor. If your first events are successful, sponsors will start queuing to host your meetup at their premises. Kindly decline offers from sponsors that don't share your values, that demand too much, that don't have suitable venues or that don't help you with the logistics.
  5. Manage attendance. This is probably the trickiest part. When you announce a new event people will sign up but many of them won't turn up. Some tips to minimise the impact:
    - Keep track of no-shows and ban them if they become recurrent no-goers.
    - Send reminders 48h before the event, so that participants can RSVP NO and allow people in the waitlist to attend.
    - Announce +20% seats above the attendees limit in order to compensate no-shows.
    - It is very common to meet attendees that don't care about the talks, and they just want to recruit, socialise or have some free pizza. Kindly remind them that the event is strictly for people that are interested in the topic.

  6. Take advantage of social media. Speakers, sponsors and organisers love to be mentioned in social media. Make sure you have a catchy hashtag that can be used during the event, and monitor reactions and feedback. Tweets from your attendees are your best PR.
  7. Engage with other meetup groups. Meetup groups on similar topics shouldn't compete but collaborate with each other. Share tips, speakers and sponsors. Promote each other and organise joint meetups if possible. It will benefit the entire community.
  8. Grow your network. As a meetup organised you might become an influencer in the local community. Make the most out of it: engage with speakers, sponsors and attendees, and find ways to boost your professional career.
  9. Enjoy the talks. You will be pretty busy during the event. However, find time to enjoy the presentations and learn from the great speakers you brought.
  10. All the effort pays off. It doesn't matter how painful organising a meetup sometimes can be, it always pays off! Personal satisfaction, knowledge, connections, recognition,... and sometimes with the most valuable and unexpected rewards.

Popular posts from this blog

How to disable cookies on Google Analytics so that you don't need a consent banner

The integration of Google Analytics into a website or blog is not GDPR-compliant by default . You must first obtain explicit consent of the end-users to store cookies, describing in your privacy policy how you intend to use collected personal data. This is the reason why most websites nowadays display an annoying (but necessary) consent banner. If you fail to do so or if you only ask for implicit consent, you are at risk of being fined. However, it is possible to disable cookies on Google Analytics (GA) respecting end-users privacy, so that you don't need to ask for consent. The downside is that you will not be able to distinguish the type of user (unique vs new vs returning) and you will miss some session insights. If these details are not relevant for you, here is how you do it. Disable Google Analytics cookies on a custom website If you have a custom website with full access to the source code, you can simply insert the script below between the <head>  and </head>...

How to convert a PWA into an Android app in 5 minutes

In early 2021 I developed a memory game called Kobadoo  as a PWA (Progressive Web App) using ReactJS. It works pretty well as a browser game and gets decent traffic, but I wanted to reach more potential users by making it available on the official mobile app marketplaces. Since I didn't want to spend any time coding a native app, the easiest solution I found was to convert the PWA into a TWA (Trusted Web Activities) app. It barely takes 5 minutes to do it. TWA essentially allows you to easily create an Android app ( .apk file) that displays a full-screen browser view of your PWA. The user experience is almost identical to a web app and the views from the TWA will count as traffic on your web app. This means that if you have ads on your PWA, they will still work (and generate revenue) from the TWA. Another advantage is that every update you make on the PWA will be immediately reflected on the TWA without the need to submit a new version on Google Play. Here's how I convert...

How to jump to time offsets in HTML5 video

Let's say that you have a 30-minute WEBM video file, from which you just want to play the following video segments , jumping from one to the other automatically  without interruptions : [00:01:25.00 - 00:02:25.00] -> from second 85 to 145 [00:11:40.00 - 00:11:55.00] -> from second 700 to 715 [00:20:26.00 - 00:21:07.00] -> from second 1226 to 1267 [00:26:11.00 - 00:28:01.00] -> from second 1571 to 1681 To increase the complexity, let's think that you have these video segments in a PHP variable $arrayVideoSegments  (normally the case if they were retrieved from the database).   $arrayVideoSegments[0]->startTime = 85   $arrayVideoSegments[0]->endTime = 145   $arrayVideoSegments[1]->startTime = 700   $arrayVideoSegments[1]->endTime = 715   $arrayVideoSegments[2]->startTime = 1226   $arrayVideoSegments[2]->endTime = 1267   $arrayVideoSegments[3]->startTime = 1571   $arrayVid...