Presented by

  • Dawn E. Collett

    Dawn E. Collett

    Dawn likes to tinker with cloud infrastructure and security, and regularly goes down rabbit holes in a futile search for ways to develop systems that are both reliable and impenetrable. As well as accidental accessibility advocacy, Dawn can regularly be found sharing knowledge within the Melbourne cloud infrastructure and DevOps communities. Outside work, Dawn is an occasional author, kitchen alchemist, and raging sportsball fan.

Abstract

In 2017, three Australian groups that participated in the yearly National Novel Writing Month event were looking for someone to build a chatbot to help them migrate onto Discord from IRC. Without knowing what I was getting myself into, I volunteered to do it. And thus, Winnie the Writing Bot was born. In 2018, I posted setup instructions for the chatbot on the official forums for the event. All of a sudden, Winnie had a user base that was rapidly outscaling the quality of my terrible Javascript. Between a full-time job and the demands of the community, I realised that I was in over my head. In 2019, as National Novel Writing Month rolled out a website redesign that was widely criticised by the community, I started looking for someone to take over the project. And then, 2020 happened. Suddenly, all in-person events were cancelled, and National Novel Writing Month communities around the world were scrambling to move their entire operations online. And I found myself as the sole maintainer of an open-source bodge job that was being used by local organisers who had to fill quite a lot of gaps at very short notice. But more than that, I had a vibrant community of people who were ready and willing to improve the software that they used. My role wasn't to build the whole thing from the ground up anymore; it was to get myself out of the do-it-all mindset and and use my skills to help us all make Winnie better. Over the course of 2021, we rebuilt Winnie with a focus on maintainable code. More importantly, we've integrated feedback as we've gone, and added the building blocks for significant new features that the community wants. Having people in defined roles, including the project manager who found a bug that took down the whole system and volunteered his expertise by way of apology, has allowed us to go beyond what a single maintainer can get done. All the way through the project, I've been learning about systems and processes that I should have set up early-on, from codes of conduct to maintainable databases to community spaces. As it's grown from a one-person bodge job to an open-source project, I've been able to see the benefits of these structures in real time. This is a story of timezones, emoji, localisation, and how to wrangle velociraptors into a database. It's a cautionary tale about open-source software that relies on a closed-source API, and all of the pitfalls that that entails. It's a story which connects people from around the world who might not have otherwise met. The trajectory of my career has been influenced by the various hats that I've worn during the process, but it would never have happened without the people who did the real hard work of building their communities. Everyone who stepped in to help with localisation, development, testing, and even documentation helped this little open-source chatbot to provide both individual and collective structures in a time of great uncertainty. In a period where our social structures have been involuntarily remade on a global scale, I hope that my experience can provide a roadmap for those who want to harness free and open-source software to fill gaps in the non-technical world, and make outrageous ideas happen. Even if it is by accident.