I made a thing!

As part of my job at YOW, I attend a lot of meetups. One problem I’ve had over the past few months is in finding what user groups are available and when their meetings are.

For better or worse, Meetup has become the centralised point for discovery so I figured I’d start there. And they do have a convenient “Export to…” link that with a Google calendar option. (It actually gives you a link to an iCalendar data file you can subscribe to.) That’s great! But here’s the thing – it’s only meetups that you’re attending. So you not only have to be in each group; you have to already know about the event… which rather defeats the purpose for me.

Another option is the Meetup home page, which displays a feed of upcoming events. However, the options aren’t super helpful. “All Meetups” displays every single meetup in the location selected, which is only useful if you’re bored and don’t care what type of event you go to. “My Meetups” shows every meetup for groups you belong to, regardless of location. “I’m going” just shows the ones you’re going to. The only one that’s actually useful to me is “My Meetups & suggestions,” which does show events that I might want to attend… but it has two drawbacks. First, it’s not limited by location. That may not be a problem for the average person, but I go to meetups around Australia. The only workaround there is to have separate accounts per city. And second, there’s no RSS feed or iCal feed of this information. The only way to see it is to actually go to the Meetup site and scroll through it.

HOWEVER – Meetup has an API. So I concluded that in order to get the exact information I wanted, I was going to have to build a thing to extract it myself. So I did! I called it “MUGicalPHP” and it’s up on Github now.

How it works: My script first pulls down a list of all the meetup groups in a city within a range of selected technical topics. Then for each of those, it pulls down a list of upcoming meetups and arranges it into iCal format. A cron job kicks off the script, generates the feed for the city, and uploads it to my webhost once a day. So far I’m supporting Sydney, Melbourne, Brisbane, Perth, and Hobart. You can then paste those URLs into Google Calendar and subscribe to individual calendars.

I’m still fine-tuning the format for each event, but so far it’s working great. Yeah, yeah, I could make it more flexible (like supporting arbitrary locations). But that would be more work, and frankly this is doing everything I need right now. If I need more cities or topics, I can easily add them. My next goal is to start incorporating some of the user groups that aren’t on Meetup (like Girl Geek Sydney, SydJS, etc.) Please let me know if you find it useful or if you have any suggestions for improvements!

Thanks to @gilmae, @lucykbain, and of course, the Snook for all their help and encouragement. 🙂