No More Spreadsheets! Building PyLadiesCon Infrastructure with Python and Django - Mariatta

This video features Mariatta at PyCascades 2026 in Vancouver, British Columbia, Canada.

No More Spreadsheets! Building PyLadiesCon Infrastructure with Python and Django - Mariatta
0:29:32
Published May 23, 2026
24 views

PyLadiesCon is an online conference for the Global PyLadies community. It is one of a kind conference with programming spans 24 hours and offering talks and contents in multiple languages. Run entirely by volunteers, we face unique challenges specific to the nature of our conference.

One of the ways we have been managing the various aspects of PyLadiesCon is by using spreadsheets. Spreadsheets for volunteer sign ups, spreadsheets for program scheduling, spreadsheets for sponsorship. Any information you want about the conference, we have a spreadsheet for that.

While spreadsheets are great for capturing data, they come with drawbacks when it comes to online collaboration with various team members, causing frustrations and confusion among our team of volunteers.

In 2025, PyLadiesCon team said no to spreadsheets and instead started building our conference infrastructure: an open source web app for managing various aspects of our conference. Learn more our challenges in managing the online PyLadiesCon conference, and how we're solving our problems with Python and Django. Contribute to the project, and support the PyLadies community.

Summary

Mariatta explains that running PyLadiesCon is a complex, global, multilingual operation involving speakers, volunteers, sponsorships, translations, accessibility, online production, and careful handling of private data. Because spreadsheets made collaboration, permissions, automation, recognition, and transparency difficult, the team built Portal, an open-source Django application backed by PostgreSQL. Portal centralises volunteer and sponsor workflows, sends automated emails, controls access, supports exports and translations, integrates with ticketing systems, and provides public dashboards. The project has improved efficiency, enabled broader community participation, and helped PyLadiesCon raise $55,000 in sponsorships in 2025, although the team is still working toward replacing its remaining spreadsheets.

Key takeaways

  • A free, volunteer-run, 24-hour multilingual conference has operational complexity comparable to much larger events despite having a small organising team and no starting budget.
  • Spreadsheets made data access, duplicated records, handoffs, automation, documentation, and volunteer recognition difficult to manage sustainably.
  • PyLadiesCon built an open-source Django portal with PostgreSQL, Docker, automated email, role-based access, exports, translations, and third-party integrations.
  • The portal turns conference procedures into reusable, visible workflows and creates more opportunities for volunteers to contribute to open source.
  • Public dashboards and centralised data improve transparency and accountability, while sponsorship revenue reached $55,000 in 2025.
  • The project is still incomplete: volunteer and sponsorship management have moved to the portal, but the team hopes to reach zero spreadsheets with help from contributors.

Summarised automatically from the transcript.

Chapters

  1. 0:01 Conference Organizing and PyLadiesCon An introduction to the complexity of running conferences and the mission and format of PyLadiesCon.
  2. 1:32 PyLadiesCon at Global Scale Volunteer, speaker, language, team, and budget comparisons show what makes PyLadiesCon different from other Python events.
  3. 4:43 Online Conference Challenges The talk explains why moving online removes some logistics but introduces platform, equipment, translation, coverage, and time-zone challenges.
  4. 6:15 Volunteer Operations and Data Access Volunteers handle video, translation, production, promotion, and sponsor work, creating difficult requirements around coordination, permissions, and recognition.
  5. 9:18 Spreadsheet-Based Operations The conference’s dependence on spreadsheets creates problems with readability, sharing, duplicated data, and sustainable volunteer collaboration.
  6. 12:25 Documentation and Automation The team moves from documenting volunteer processes to writing Python scripts, while confronting the difficulty of making those scripts usable by others.
  7. 15:28 The Case for Conference Infrastructure PyLadiesCon’s mission leads the team to replace invisible administrative work with sustainable, open-source infrastructure built with Python and Django.
  8. 18:34 The PyLadies Portal Mariatta presents the open-source Django portal, its technology stack, deployment, testing, Docker setup, and development tools.
  9. 20:07 Django-Powered Workflows The portal handles authentication, email development, spreadsheet exports, permissions, volunteer review, and automated communications.
  10. 23:11 Automated Sponsorship and Community Contributions Django streamlines sponsorship workflows and turns corrections and new features into opportunities for community members to contribute through open source.
  11. 25:32 Transparency, Integrations, and the Road Ahead The portal enables sponsorship growth, public dashboards, volunteer recognition, multilingual support, ticketing integrations, and the goal of reaching spreadsheet zero.

Transcript

4,202 words · auto-generated Show

Automatically transcribed, so expect mistakes in names and technical terms.

0:01

experiences. So how does a conference happen by the way? What makes a conference a conference? That there's really a lot going on when you want to make a conference happening and you need speakers, sponsor sheets, catering, travel grants, ticketing, code of conduct enforcement. There's a lot of things going on Also time and money. Um the conferences I've run, they take at least six months to plan, mostly nine months or nine six to nine months. And money. Money makes everything happen. And when I decided to join the Pi Ladies Con team, I thought, you know, I'm an experienced conference organizer. I know how this

0:46

works I can bring my experience, I can help. I thought I know everything that is that that is neat to know about conference organizing and This is easy. But I realized that after I started organizing Pile LadiesCon, I realized that I was wrong. Turns out organizing Pile LadiesCon is so different and I just have to readjust my attitude and like mindset and I'm learning new things all over again. What is Pilating Con? It is a fully online conference, it spends twenty-four hours non-stop engagement and we serve the global file ladies community. We strive for inclusivity, accessibility, affordable

1:32

So it's free to attend and it's fully volunteer-based. And we are multilingual. In PilatedCon you never have to say sorry I don't speak English. English. Okay, I'm sorry I don't speak the language. So here are interesting stats about how did it call this is our volunteer stats. So last year we have one hundred fifty to people signing up who wants to help out. We have to review all of their applications, check their skills, their availability and see if there is a match in our existing open opportunities And we were ab only able to accept seventy people out of this. So being a global conference, our volunteers can speak lots of different languages, um, not just English. Japanese, Thai, Korean, German, we got volunteers

2:19

coming from all over the world. And also because of our global community, global audience, also we need to fill in twenty-four hours of programming we ended up with a lot of talks, a lot of speakers to coordinate with, and also our speakers get to choose to speak in any language they want and as a result we have speakers and keynotes speaking last year speaking in six different languages. So how do we compare to other events So I I've contacted conference organizers, I I contacted I know about Python US, I asked um PyCastades organizers, and I asked EuroPython organizers like Give me some numbers. And it turns out in terms of volunteers, we are closer to the number of volunteers of EuroPython, like sixty people.

3:11

Um In terms of talks we are really close we're almost like Pycon US, we're almost like EuroPython. But we have to support six different languages where All other conferences usually either support one language or bilingual, but the size of organizing teams is really small compared to the larger conferences. Um we are have we have like last year we have eight core team members, which is kinda similar to Pi Cascades, whereas larger is Events like PyCon US, EuroPython, they have so many different um core team, core organizers in in charge of specific tasks

3:57

And you know conference needs money. All of these events they have bigger budget than us, they have registration tickets and we start with zero. So it's it's different challenge. And we serve and we are accountable to the global community and so we work with Pilators chapters worldwide as well as with the Pilates global council and we also work the PSF who is our FICO sponsoring. So now you know okay I know how the conference happened. You know what file ADSCON is This is different, how do we make silent con happen? It's online. Don't you just get people on Zoom calls all day long? It it's really more complicated

4:43

Like yeah, you started thinking oh all the things that need to happen in conference. Like okay, you don't need to book a venue. Well that's one less complexity. You don't need to worry about catering, no travel grants. All right. Yes, these things can be removed doesn't mean it is any less complicated. Like we still need to Look for sponsors, we still need to put out calls of forty centers, a website, social media, like videos. We still do a lot of things that needs to happen in the regular conference. But just because there is we remove these complexities doesn't make it any simpler. We have other challenges. Now we really need to figure out how do we gonna how are we gonna meet online.

5:30

We we can't use Zoom calls. We need to decide exactly what is the online platform we're gonna use. Although we don't have travel grants but now we have to manage speaker equipment. Um we need to deal with translations, studio transcriptions. We need to somehow have twenty-four hours of volunteer coverage. And we really need to have more collaboration, more help from volunteers ahead of the conference as opposed to just the day off And we need to be able to do this asynchronously and taking into consideration language barriers and time zone difference. I don't know, like I have colleagues in Eastern time zone. Even finding a meeting time with them is hard.

6:15

Finding meeting time for people in Asia and Europe at the same time. This is hard. And And this is some examples of what our volunteers get to do. And so for each of the talk we wanna review the videos, the content we need to check for audio quality, video quality quality. Um we have seventy speakers, ninety speakers. We need to remind them please submit your video. So we need to keep track who has entered their video because we need to sub Translate and transcribe. We do our own video production and publishing for now. And you might say, well, you could just hire people to translate subscribe um you can hire video production company, video

7:01

program services. Which right, it's not that we don't want to. But because we haven't been generating income for the first two years, it took us two years to realize oh shit we need money to run a conference. We could not afford them. So this creates a strong strong dependency to our volunteers. And there are just so many other facts we need help from our volunteers. Like we need to have promotional materials written out, uh printed, not printed We need help in fulfilling our obligation to sponsors who actually pay them provide funding for our event. And as The organizers, our job is not actually to do all of this. Not to do all of this by by ourselves.

7:47

We actually want to enable our volunteers so that they could help contribute and feel like they are part of the community. We want them to help us do this. But in order to enable them, we need to give them access to the right tools. Um right access to the right data, they need access to speaker data, documentation, sponsorship data, social media account logins, a lot of things we need share. But the data we are giving access to, the things we are sharing, they have private and confidential information. Like for example As the organizer, I have access to the ticketing system. I have access to all of your billing information.

8:33

Not your credit card. But I have all nine people's home addresses, postal code. You know, these are things that I need to really carefully consider before I share access. I need to pick up choose what am I sharing. So I really need to keep track of who are our volunteers. What access do they have? Do they have access to the right thing? And I need to keep track so that I can report these access if I need to, if they leave. Also I I need to keep track of who I need to thank. Um In the volunteering world the currency is not money but recognition and gratitude.

9:18

I need to know in the end of the conference who do I need to say thanks and not only the abroad like thank you everybody but I need to say hey thank you who um what did you do what did you contribute to this conference. I think that is really important So how did we do all of this? Did we have Jira, Asana , Kelo? You know those things money and for a group of our size, right? There are free version, but for our group to be attractive, these things cost money. You know what doesn't cost money. Spreadsheets. I know for a fact that we are not the only committees who use spreadsheets. I worked three different conferences.

10:04

Everybody uses spreadsheets If you ever see a sign-up form like a Google form, that's just the front for spreadsheets. Okay, the back end of forms is spreadsheets By cascades, you spreadsheets. If you apply for the travel grant by cascades, you see a form that's spreadsheets. I help run Icon US maintainer summit and I used to help run language summit. We use Google Forms as a big practice. So Conference runs on spreadsheets. So many spreadsheets. Everything in the form of spreadsheets. Volunteer sign-up, speaker scheduling, moderator, sponsorship

10:51

financial design transition, all of these spreadsheets. Here's an example of what the spreadsheet look like. And this is just one third of the stretch. You need to scroll all the way to there. Um there are more columns. Um I I have a forty nine inch ultra wide monitor just so I can see Comfort spreadsheet. But look at this. Can you read it? It the pencil is so tiny And I see we have so many splashes. In fact all of the spreadsheets look just like that. Not only spreadsheets are so hard to read. It's it's hard share with our volunteers.

11:37

Like it's really hard to manage access information. It's possible but it's hard. And so we ended up like okay We just cannot share everything or nothing at all. But without the right access, volunteers can help us. And not only that, like There are so many duplicated data in all of these spreadsheets. We have duplicated info across all of these different sheets for the same people. Just for example, as a speaker here I already gave them my name and email address when I submitted my talk. So how is it when I wanna register a speaker I need to give them my name and email address one more time And when I wanna buy the t-shirts again I have to enter my name, email address and address one more time.

12:25

So I feel this is we we've no we accept this deal But why? So we realize that we're using our spreadsheet wrong. I'm sure there is a better way to do this. I'm sure is good for something, but not for managing a conference. So we identified our problems. Like maybe what can we do to make our Um we decided like we are thinking of how can we improve our operations. We decided like, you know, we need to write more documentation, we need to explain what does everybody need to do as a volunteer here, what are their roles, responsibility, what

13:11

are they supposed to be doing. We need to write all of this down and we need to open source We shouldn't have internal private documentation. We did it. We started writing down all of our documentations. We now have this publicly available and we we really wanna embrace the open source spirit. Our volunteer guide, sponsorship guides, these are all open source in a nice URL like conference dot pyradius. com slash doc instead of some you know UUID URL. So the documentation are now more meaningful And while I was writing this docs, we were writing this docs and I realized like the things we wrote down sound

13:56

more like, you know, if this do that. volunteer joins give them this access rights. If a team lead joins, give them other access rights. Like why is this sound like a pseudo for it this is like an algorithm like this is is a statement like an a for loop right so there is logic in what we're doing So we started thinking, all right, you know, maybe it's not docs we really need. We need to automate. So that's another idea. Okay, let's write Let's quickly let automate. Like there is Python in Excel now. Like just write code to process data from spreadsheets

14:42

and do things. We did this We started doing it. We started writing Python scripts for reading and writing out of spreadsheets. Um we have a script. We open source this. We have a script that ha uh generate conference certificates. We have a script to automate D drive um management. And yeah you can take a look. It's it's on our GitHub report But here's the thing is with writing Python script. Sharing your Python script is still hard. I didn't write Unifast enough I didn't have documentation. I only test it on my computer. I know it works. I don't know if it can work on your computer.

15:28

You ever try telling people people like oh install dependencies, activate virtual environments. Those are hard. So yes, now we have script. We have automation open source, but But if other people can't run this, it's it's useless. So when thinking about all of these challenges in managing our community, I just Just start thinking like, why are we doing this? What do we really want out of running a conference? Why are we spending time and energy to for the conference when most of the things we do is record keeping, is administrative, looking at spreadsheets, copy pasting from one spreadsheet to another

16:15

And I really just have to remind myself like our reasons for existing. What is the mission of by ladies? We want to help more women and under pr represented group members become active participants and leaders in the Python open source community. If the only opportunities in our conference is in the form of copy pasting spreadsheets and writing emails that is not furthering our mission. That is not impact. That is not offering So we realized we just we can't continue using spreadsheets. Spreadsheets based volunteering is just not shareable, not sustainable It made our

17:01

work invisible. Things are just happening in the background in my own local machine. It really diminished the complex of our work is not helping us further our mission. So the last year, 2025, this is the insight theme of my life in twenty twenty five. What we really need is is real infrastructure database. And we we have the technology. We are developers. We're not gonna wait for someone else to come up with the better solution for us. Like, we can build this with Python.

17:47

This is what Django is for. So we did it. And by if we if we get to build our own web app We could then scale up our operations. We could enable more volunteers despite of limited resources, limited time. We yet to create opportunities for our members to actually contribute to open source projects. We will be able to give visibility of what really happened When you run a conference. Like look at all of these L statements, all the emails we're sending. It's really not a simple thing. And we want We want our conference to be sustainable, for knowledge to be shared.

18:34

And above all, we just want to be Pythonistas to solve our problems with Python. And so let me present you portal. pyladies. com. This is our web portal. This is 100% open source PyLadies owned, 100% test coverage. All the tests are using with are written with PyTest. Python Django, the latest At the time of creation, I need to upgrade that. PostgreS database. And you know, our work is complex enough that require at least six thousand lines of Python code and these are just the application logic is not including the unit test and Django migration

19:20

files. And we really want it to be easy for people to contribute we want people to be able to run it easily on their local machine so we have Docker we Dockerized the project um and there is an initial uh test data included there is a script you can run to populate uh your data local database so that you can easily run and test it locally and we have documentation open source And thanks to our close relationship with the PSF, we're able to host this on PSF infrastructure. So the portal is deployed to Cabotch. This is the same infrastructure that hosts by TI. And also thanks to the PSF, we were given access to their mailgun account

20:07

and this is what is allowing us to send all lot of automated emails from within the portal. So when you start a new web app, one of the things people say is really difficult to do like Oh, you need to deal with users, authentication, you need to handle login, ever all that. Thankfully, because we chose Django, we could use this library called Django Go all off. It handles everything. It does login, logout, password reset, email verification. It even handles um social sign on using you'll wanna wanna log in using Google. We didn't integrate it but but it's possible for you if you wanna integrate with or all other forms of social

20:52

sign -on. And I could get all of this setup quickly. I think the only thing I need to adjust is some email templates. So Django all us use it. And because of the work in work a lot with sending automated emails within the portal. Um we need to be able to access all of these emails that are being sent locally without having to actually So there is this library called MailDev. It provides a web interface you can run locally. So you can receive the emails and you can see how it looks like in your local development. And even though we are trying not to use spreadshear, but

21:39

But we still work with stakeholders who still use spread sheets. So sometimes they ask data in the form of spreadsheets. But that's okay. We can thanks to library like Django import export, we can always there is a button you can add that export data into whatever spreadsheet format they want And because we use Django now, we are now able to better do um we we are able to have better data access management on our data. We could write code to restrict access to certain pages, certain views. There are so many ways to do this in Django, but one of the ways we are doing it in our um web portal is by using

22:24

the user passes task mixing. So we just created our own portion of this mix in just being able to control which page is gonna be available for our admin so which page are gonna be available to our volunteers. And here's an example of how we used to manage our volunteers before using spreadsheets We gotta look at people's information um in a big spreadsheet. First you need to have a big monitor in order to see the all the things. Review them one One by one you need to write them, um invitation email, rejection email, and then you go back to your spreadsheet, update the information, and you gotta do this hundred times back and forth.

23:11

This is hard, like a lot of contact switching. But now I can do this on my phone. Just a few check boxes and the tags are bigger. I don't need to open up my big laptop. Um no contact switching and the emails get sent automatically in one button this I can do easily as many times as needed. The portal now handles the email sending. Like we used to have to compose Copies by hand, copy pasting, sometimes we made mistakes, sometimes we even forgot to invite to write the email. Because having to switch between email and spreadsheets. But now this is all automated.

23:59

Here's another workflow that we we adjusted using our Portal sponsorship management. Because we work with the PSF, who are our fiscal sponsoring. The PSF handles sponsorship Financial sponsorship compact contract. We approach sponsors. We have our own spread keys. Um we need to keep track of only when sponsor says, yes, I'm gonna sponsor, send us a contract. That's when we have to update our spreadsheets, update the PSF spreadsheet, write an email saying The RPSF please help us write the contract. Copy pasting information.

24:46

But now this is all just one click. Like there is a button in the portal that sends email to the accounting team. I didn't need to copy paste anything. No copy pasting, no spreadsheet. What is We made mistakes in our Google form. If there is disciples, wrong translation, before the portal, the burdens on us. People would write to us saying Like, hey, I notice something's wrong in your form. Missing this and that. And now we have to go in, update our spreadsheets, update our forms. But now We don't reform. We are open source. I get to say thank you. Please open the pull request.

25:32

Right? And this is this is what It's it's great about it. Like when we started this, people were telling us this is an overkill to have a web app for your cont conference. But you know, now that we have it, it's it's easy to add new features we want and we get to involve the whole community to help us. And Thanks to the portal, we are able to improve the efficiency of our operations. In twenty twenty five we are more successful than Ava we raised fifty five thousand USD in sponsorships. This is more than the first two years combined.

26:17

More than twice of the first years combined. And because we have this database, we are now able to build a public dashboard. We have a dashboard like this data is real time It's the same data we see internally. We don't have another private spreadsheet. We you get to see a lot of information, how many sponsors we really have. I get to tick can choose which data are important. Um this is really important to us because we want to provide transparency and accountability to our community And something I realized when I built this dashboard, I realized, well, I can insert some advertisement within the dashboard. So just just for fun I tried

27:04

Um as you review our information I inserted the button that lets you sponsor and donate. Can't do this with spreadsheets. And now that we have our Volunteer data. It is easy for me to showcase and to give recognition to our volunteers. I get to easily celebrate and highlight their contributions. We ne we can now provide multilanguage support to our community. There is a button at the top that lets you switch to different languages. Right now we have Brazilian Portugal Portuguese in the language switcher and actually I saw a PR for Spanish translation. So now we can better serve our global community

27:50

And with the web portal now, we could work with third-party apps. We can use APIs, webhooks. For example, here we added integration with our ticketing. system so that we could get live data about attendee demographics. And these numbers are updated automatically whenever someone registers for a conference. I didn't need to open spreadsheets or press some numbers. It's just there. So we have worked hard to move our spreadsheets we were able to get our volunteer management sponsorship management into the portal instead of spreadsheets but we still have a lot of other spreadsheets We just didn't have enough time and resources to implement everything we needed

28:40

because running a conference is complicated. It takes time. But Slowly but surely we want to be at spreadsheet zero. We want more spreadsheets replaced and implemented in the portal. So maybe you can help us. Maybe you can contribute to our open source project. It's available on GitHub. You can help with translations, write more documentations, and you can support our community By donating and sponsoring. So thank you for listening and before I leave remember to say thanks to the conference organizers here. Thank you everybody. Thank you for First organizer for hosting us for running this. Say thanks to the volunteers because it's not easy.

29:26

And go thanks to sponsors and again thank you everybody

Questions this talk answers

What makes organizing PyLadiesCon different from organizing a typical conference?

PyLadiesCon is a free, fully online, volunteer-run, multilingual conference with 24 hours of programming for a global audience. Instead of venue and travel logistics, it has challenges such as coordinating many languages and time zones, managing translations and speaker equipment, and maintaining round-the-clock volunteer coverage.

Discussed at 4:43

Why are spreadsheets a problem for managing a conference?

Conference spreadsheets are difficult to read, share securely, and keep synchronized, and they duplicate information across many workflows. They also make it hard to give volunteers the right access and force organizers to spend time copying data and switching between tools.

Discussed at 11:37

Why did PyLadiesCon build its own web portal with Django?

Spreadsheet-based volunteering was not shareable or sustainable and hid the complexity of the organizers’ work. A Django application could provide real infrastructure, scale operations, enable more volunteers to contribute, and create open-source opportunities aligned with PyLadies’ mission.

Discussed at 17:01

What technologies does the PyLadiesCon portal use?

The portal is an open-source Django application backed by PostgreSQL, with Docker for local setup, Pytest tests, seed data, and public documentation. It also uses tools such as Django Allauth for authentication, MailDev for local email testing, and Django Import Export for spreadsheet-compatible exports.

Discussed at 18:34

How does the PyLadiesCon portal improve conference workflows?

It automates tasks such as volunteer emails and sponsorship requests, lets organizers manage access and data in one place, and reduces copying between spreadsheets and email. It also supports public dashboards, volunteer recognition, multilingual pages, and integrations that keep attendee data updated automatically.

Discussed at 23:11

Presenters

Note: We understand that names change, people change, and bodies change. We respect each individual's journey and privacy. If you have any concerns about a video or need us to remove content, please don't hesitate to contact us. We will handle your request with care and promptly address any issues.

More videos by Mariatta

More videos from PyCascades