Pyrkon - an administration system for the fantasy fan convention

Pyrkon, a fantasy fan convention held in Poznań, Poland, has significantly grown since the year 2000. It transformed from being a small gathering held at a local elementary school to the largest conventions of that type in the Europe. Last year Pyrkon was visited by over 40.000 people!

Due to its increasing popularity, Pyrkon required some new systems that were going to allow organizers for a faster and more effective work. That’s why Klub Fantastyki “Druga Era” (Pyrkon’s organizer) wanted to re-build their administration system as well as the website for upcoming 2016 edition. After some evaluation they decided to delegate that task to us - that’s how we started our cooperation on an 8-months long, challenging project. Below you’ll find out how it went!

Workshops session

We started the project with a workshops sessions, during which we've met with Pyrkon’s team four times for 3-4h sessions, and discussed all the things that needed to be done. We divided the workshops so that on each meeting we talked about 1-2 different administrative modules that were needed to be implemented. We discovered and discussed different connections between those modules, talked through the problems and came up with solutions to them. In result, we had notes full of requirements and guidelines regarding what needs to be done. Based on the gained knowledge we prepared both a roadmap for the project and a detailed plan for a first module that we were supposed to work on. We also came up with the wireframe of a new website, which was intended to be more modern than the previous one and fully responsive so that it could be used on mobile devices.

Agile for running the project

We mutually agreed that we'd be running the project based on Agile methodologies. Each week we had a conference call during which we were discussing all the things that have been done during the previous week of work as well as priorities and expectations for the upcoming one. We had our hands full because each month we had to deliver some piece of functionality that was necessary for Pyrkon’s organizers to carry on their work.

Agile proved to be a really great project management framework. It allowed us to not only to constantly deliver new functionalities of the product but also to work on improvements and new features. That gave us the possibility to adapt some changes when after first weeks of work with new features organizers provided feedback regarding certain aspects of already created parts of the system.

Launching landing page and new forms

Since we didn’t have enough time to deliver a fully functional, tested website before organizers had to start announcing certain organizational news, we decided to launch a one-page landing page first. It was meant to inform users about ongoing changes, give them first information about the work in progress and inform about news regarding the latest edition of Pyrkon.

Within the landing page, we also published job offers section so that organizers could start recruitment for staff members. At the same time, we also worked on the preparation of the first registration form for vendors, which had to be fully connected with prepared administration panel, so vendors’ coordinators could process each submission as they arrived.

When landing page was launched, we were still working in parallel on a new website’s layout and templates, so that we could start it shortly after that. We worked on RWD adjustments, filling out the content and translation modules (website was intended to be published in 3 languages: Polish, English, and German). We also prepared another registration forms: for lecture program proposals and for volunteers who wanted to help in the organization of Pyrkon. Finally, shortly before Christmas, when we finished working on quality assurance and bug fixing, we launched the website with a new design that was mobile ready and contained new forms. But that was not over yet...

Further work on administration modules

After a Christmas break, we continued our work on management modules. We constantly improved the code by eliminating performance issues, removing problems reported by organizers and adding such new features as advanced cache and indexing mechanisms or refining servers configuration.

It was not an easy task because we constantly had to monitor the system’s status while publishing new features that organizers needed for further work. Of course, we encountered few problems and errors while doing so, but we always figured them out and were able to fix them quickly. With a great help came Sentry, thanks to which we were receiving information about errors even before anyone noticed them.

Once submissions from registration forms were processed, we had to publish appropriate information related to them on the website. For that purpose, we constantly improved user’s account area, where users could find information about statuses of their submissions.

In February, we had to be prepared for one of the biggest events when it comes to organizing Pyrkon – program planning. For that purpose, we created a collaboration planner that helped program coordinators to work on creating a Pyrkon's program simultaneously. The planner was connected to the admin module, which allows processing submissions for lecture proposals. It used WebSockets to present other coordinators’ changes in real-time and allowed for discovering program conflicts.

Those were two very long days when during February we were working on the program planning. But as soon as organizers gave us the final version of the program then we were able to publish it on the website for users to browse through. It was really fascinating to see how they were waiting for this moment - only minutes after Pyrkon’s team announced program publication we noticed significant peeks in traffic on the website’s server.

Integrating with 3rd party services

After the program had been published, it was time for Pyrkon to start selling tickets. For upcoming convention, they wanted to use new provider for online tickets purchasing. The requirements were unique, because it had to give us the information about both every ticket that was sold and the pre-sale codes that users received when buying tickets earlier. All of that had to be synchronized with user’s database that we had in the system. They chose KupBilet.pl, and during last two months of development, we cooperated closely with their tech team to create integration between their ticketing/accreditation system and our administration modules.

We created another integration with Eventory – a mobile application provider for presenting a program of conventions and festivals in a mobile app. This way users were able to use their phones to browse Pyrkon’s program. For that, we had to be sure that any changes made by coordinators in the plan were also reflected in the mobile application. We used Eventory API for data synchronization, which worked really nice.

Start of the convention

Finally, our excitement reached its peak, and on April 8th, 2016 the XVI Pyrkon edition had officially started. The first test of our systems was the accreditation process. The lines to convention entrance were huge, and Pyrkon’s staff had to check each ticket of each person, verify their discounts, etc. This, on the other hand, was a huge test of integration with KupBilet.pl. Thankfully, everything worked fine without any bigger incidents. During the next two days over 40000 people visited MTP in Poznan to attend Pyrkon. Among those people there was also a group from Merix - big thanks for Pyrkon’s team for the tickets, we had a really good time!

Project summary

We've learned a lot while working with Pyrkon. It was a fascinating and challenging project, and we’re grateful to Klub Fantastyki “Druga Era” for giving us the opportunity to work on it. During almost 8-month development we used various technologies, such as Django, ElasticSearch, Cachalot, WebSockets, Autobahn and much more. We improved our Agile skills, which were necessary for this project. We've also learned a lot regarding the organization of events as big as Pyrkon, which require a lot of work, probably more than you can imagine. Thanks again Pyrkon team for the great cooperation!The preparation process of the 2017 edition is currently in progress, and we really hope to help with launch of that version as well, so stay tuned... :)

Navigate the changing IT landscape

Some highlighted content that we want to draw attention to to link to our other resources. It usually contains a link .