Peter Hoffmann Director Data Engineering at Blue Yonder. Python Developer, Conference Speaker, Mountaineer

How to organize a PyCon.DE

Some notes on how to organize a conference like PyCon.DE

We had 5 great days at PyCon.DE 2017 and PyData Karlsruhe. About 430 developers joined us at the Centre for Art and Media. Participants from all over the world (Japan, Israel, India, Netherlands, Italy, Swiss, Russia, Romania...) attended 68 talks and tutorials in 4 different tracks.


The most important thing during the organization of a conference is an outstanding orga team. We organized everything online. Telegram was of great benefit for asynchronous communication. In addition we had a google hangout every month, two month before the conference every week and in the last two weeks every day. We used JIRA to track tasks and a private github repository for our files and the wiki for documentation.

Everybody wants to go to a vacation and also might have a bad week where he/she just don't want to do something for the conference. If you do it alone chances are high for a burnout. If you have a nice team, other organizers will jump in.

It's very important to have a diversity of knowledge and experience in the organization team:

  • Jan and Mike had strong connections into many companies. That helped alot to find attractive sponsors.

  • Katharine and Alex brought in their experience from PyData.Berlin and EuroPython

  • Miro helped a lot with the local organization and knew the social event location from his wedding.

  • Anna helped with all the work on media and design.

  • It was of great benefit that Martin is still a student on the KIT. That way we could get the cameras for the video recording on a low budget. Also, he was able to secure the sprint location Duale Hochschule BW

  • Keep a network of organizers from previous events. Anton Caceres of PyConWeb was a great help in the beginning when we did not know how many attendees to expect. Don't underestimate the moral support you get from people who went through all of this before you.

  • The most important thing is a great co-organizer. Sebi and I are good friends and we work together at Blue Yonder. When the one forgot to organize something the other jumped in and vice versa. We met every day at work, so we never lost the momentum because we always pushed each other.


Keep it simple. We first wanted to write our own Django app to run the website. Soon we realized that none of us will have the time to maintain it, so we switched to a static site build with lektor. Once a new version was pushed to github, it was pulled by the webserver to update the content. Very easy workflow with a low maintenance overhad. The schedule was kept in an excel sheet and combined with a json dump of the papercall metadata to generate the online version.

Call for Papers

PaperCall worked pretty well for us. The only downside is that it is that easy to submit talks, so we had some people that submitted the talk to us and lots of other conferences. If you want to have unique content in you talk selection, keep an eye on duplicates.

We liked the full talk/speaker metadata dump in json format.

People always submit on the last day. Don't be nervous if you don't have that many talks submitted early on. We also extended the call for papers deadline which got another 25 talk submissions, because quite some people forgot the first deadline.

Tickets is easy to administrate and gives you a good overview of sold tickets and revenues. You can limit the validity of tickets, create special tickets for speakers/sponsors and generate hidden tickets. Especially during the last weeks when people want to reassign their tickets or want to get refunds because the can't attend, it is important to have a good tool at hand, because otherwise, you will drawn in manual work and support requests.

We sold 15% of the tickets during the ticket early bird sale and the rest in the normal sale. Ticket sales skyrocketed when we finally launched the schedule online. We were pretty late announcing the keynote speakers. In fact, we announced them when we were already nearly sold out. So next year we plan to announce this earlier to get some more social media attention from great keynote speakers.


We used the legal entity Python Software Verband e.V. as an umbrella for all contracts and financial stuff. It's important to have one person responsible for the budget and track revenues and expenses. In our case it was me. I used a simple Google Docs spreadsheet to track everything. Keep an eye on the cash flow. Some expenses might occur early when you don't have yet got all the ticket revenues.

Financial Aid Program

We wanted to have a diverse conference, even if we could do much better, the FinAid program helped to get in 10 more people who could not otherwise attend the conference.


Having a nice venue and good catering is important for the success of the conference. The ZKM and the Open Codes exhibition was a perfect match. They were quite flexible regarding the number of rooms that we needed. We had planned different scenarios. From a small conference with only two tracks and very basic catering to the full blown one which we were able to run in the end. We tried to finance the venue through sponsoring. The cost of catering scales well with the number of attendees. We were very conservative in the initial budget. Student tickets needed to be subsidized by business tickets.

Triple check the Wireless LAN. No only with you venue contact but also with the venue technicans. We told the venue organizers at every meeting how important a stable WLAN is. Still we had lot's of complains about the network.

PyCon.DE 2018 & PyData Karlsruhe

Final word: Always have fun!

It was lot's of fun for us to organize PyCon.DE, so we'll be back next year: