Home - gopheracademy/congo GitHub Wiki

Congo

Congo is an open source conference management platform.

What is a Conference Management Platform?

In organizing GopherCon for two years, we've used a huge variety of software. Small sample:

  • ToDo lists
  • Spreadsheets
  • Ticket sales system (tito.io)
  • CFP apps (ruby's cfpapp, another one I forgot)
  • Hugo
  • Asana
  • HipChat
  • Mailchimp

Most of these apps are great on their own, but none of them are integrated in any way. We waste easily a hundred hours every conference moving things between systems. Importing lists, exporting attendees, copying sponsor details into the website, etc. What we really need is a central system of record for attendees, conference details, sponsors, scheduling, and talks. We may still use some of the above list, because it's unlikely we'll ever be as good as MailChimp for email campaigns. But others are just silly, it's not a complicated domain to model, and we're developers. Let's build a single source of data, and perhaps several gateways into that data (API, admin website, public conference website(s), more) that allow us to use all the data in an organized fashion.

We need to take inspiration from tools like SalesForce - we spend a lot of time interacting with vendors, sponsors, etc. Tracking all of that is a nightmare. Contact info for each person involved from the sponsor, sponsorship details, special requests, travel info, etc. We need a place for sponsors to upload their logos, update their own sponsor pitch. Who emailed this speaker? What did you say? What did this sponsor want/need for the booth on the 2nd day? We need to be able to store communications, perhaps even be the system of communications - with a dashboard for each interested party/participant. Speakers see their proposals, see the status of the proposal, update their bios, twitter handles, etc. Sponsors upload logos, enter important contact details, send purchase orders, download invoices.

We do a multi-page program every year. That takes days/weeks to accomplish. All that data is already in several systems, but needs to be pulled together. Errors are easy to miss.

Managing speakers and a CFP is a big process. Proposals, blind voting, scheduling, speaker details, talk details, scheduling, tracks, time slots, speaker travel and special needs.

Then there's the website(s) which drive us crazy. We have all this data somewhere else - or in a dozen other places - and we have to make it presentable. Another great problem for programmers.

And don't get us started on budgeting. Venues require deposits, hotels require commitments for room blocks, there are fixed costs (the venue is $450,000) and variable costs (each attendee costs $350 to feed for 2 days, bag & schwag are $20/each, etc) We need a way to show how far off track we are with fixed and variable costs accounted for so we can make decisions that lead us towards a conference that is not in the red, nor overpriced. Just above break-even is best, and it's crazy-hard to do.

We don't have to tackle it all up front, but that is a rough list of the things that would be awesome to end up with. A single home for all the data. A System of Record for a conference.

Information

Philosophy

Where possible use good external libraries. Contribute required changes back to those open source libraries. Extract and make available generalized tools that we create that are usable outside Congo. Be a OSS community member.

License

Congo is released under the MIT License. Fork, contribute, send Pull Requests, use for your conferences all without licensing worries