Almost every Monday for the past year, I've been organizing a programming meetup in Prague. I tried multiple different formats and teaching styles. I bumbled through some poorly thought-out presentations and had some great sessions where I think everyone learned and had fun. In the past few months it has settled in to a smooth stride, and I am finally feeling good about it. So with over 50 individual meetups hosted and hundreds of attendees, now is probably a good time for a little reflection.

I believe my original motivation for the group was to meet smart, interesting people with whom I could work on some fun projects. At the time I was suffering from a personal lack of motivation and needed a change to get things moving in the right direction again. With that said, I think it might be helpful if I dive into a few points which could help others who are considering organizing a similar group.
Pick a Theme
It's not possible to be everything to everyone. Instead focus on an area where your personal strengths will be of most use.
My group is focused on full-stack web programming, specifically Node.js and JavaScript, because this is where my hard skills are strongest. I also felt that it was going to be important to have a unique theme for the group. I tried to think back to how I started programming. Being a self-taught programmer, I learned by working with open source software. Modify an existing thing to change how ti works or to create something new. I settled on the name "Learning by doing".
Be Clear
Describe the meetup clearly enough so that potential attendees can self-select for the right fit. This is especially important if your space is limited. It's not fun when someone shows up to a meetup expecting something completely different. Though, this will happen sometimes no matter what you do.
Interactive Learning > Talking at People
I don't know about you, but I dislike lectures where the presenter drones on and on about a topic without any kind of interaction with their audience. If it's not possible to have a fully interactive presentation, where the attendees can follow along with some real programming tasks, then at least stop for the occasional Q&A.
Go Slowly
This is something I still struggle with, but I think I am doing much better these days. It's easy to forget how complex some programming concepts are, once you've already crossed the threshold of understanding. Have empathy for those who are struggling. A good technique is to stop and check for raised hands or confused faces.
Try to Get Others Involved
Don't try to do everything yourself forever. The people who show up regularly would probably love to help out somehow. Talk to them. Ask them what their goals are, and if they would like to be more involved.
In my group, some of the regulars are beginning to prepare their own presentations. I have had to be very persistent in asking attendees if they would like to present a topic sometime. The difficulty in finding presenters is mostly due to lack of time on their part, which is understandable.
Onward
Overall it's been a great experience. I've met a bunch of nice people, and it has pushed me to improve my soft skills. I look forward to seeing where it goes.
Cheers!