EuroPython 2025

Indico: the 20 year history and evolution of an open-source project at CERN
2025-07-18 , South Hall 2B

Indico is a powerful open-source event management toolkit, created at the European Organization for Nuclear Research (CERN), that has been evolving over the last 20+ years. Indico has been used to host major conferences, including EuroPython itself in 2006 and 2007, as well as thousands of events at CERN, and other major international organizations/institutions alike.

Maintaining an ever-evolving project comes with unique challenges: dealing with legacy code, adopting new technologies, and managing technical debt without disrupting a large and continuously growing user base.

This talk explores the project’s technical evolution as well as focusing on how it stayed current with emerging technologies; starting as a PHP/MySQL app, it transitioned to mod_python with ZODB, briefly used a custom WSGI implementation, and ultimately became a modern Flask/Postgres/React application - sometimes integrating multiple technologies simultaneously.

By the end of this talk, attendees will:
* Understand the challenges of maintaining a long-lived web application.
* Learn strategies for dealing with technical debt while keeping systems evolving.
* Gain insights into real-world architectural decisions for open-source projects.

Join us, as two team members discuss how to stay sane with the meticulous balancing act of dealing with both technical debt and integrating new technologies/features.


Expected audience expertise:

Intermediate

I am a software engineer at CERN in Geneva. I am currently working on the
development of Indico, an open-source software for meeting and conference
management. My expertise is mainly in Python, JS/TS, React and Web
Technologies in general, and also Internationalization (i18n).

My passion for software and Open Source goes beyond my work. I am an active
contributor to many open-source projects such as CPython, Babel and many more.
In my free time I also like to hack on things using my 3D printer and Raspberry Pis
and build mechanical keyboards.

Hi, I'm Dom: by day, I work on Indico at CERN, and by night, I dive into personal projects. In my spare time, I run a small homelab - currently serving as a personal media server powered by custom scripts and open-source software - and explore ways to automate the tedious, repetitive aspects of my daily workflow (both at home and at work).