Developing the Safer Disinfectants Website


It’s been a pleasure to develop the Safer Disinfectants website.

I’ve been a longtime supporter of the Maryland Pesticide Education Network, but for many years, I didn’t engage in the day-to-day work of the organization. Small-staffed, and additionally fueled by a dedicated group of volunteers, MPEN sent many an email inviting participation. I finally rose to the occasion this year. In a Zoom meeting, longtime staff-member Bonnie Raindrop explained that the EPA-approved list of disinfectants that work against the pandemic virus includes many ingredients that are harmful for human health. She shared a document that offered a number of steps to determine which disinfectants we should choose and which to avoid. I wondered: can I make a searchable, filterable online list, that automatically updates each time EPA does an update to their “List N”?

I found a number of tools to enable that goal.

Nearly all websites these days use a combination of HTML, Cascading Stylesheets (CSS) and JavaScript (JS). This is no exception. Our “website” is really two websites, one for the list, and one for the supporting content. The list is fueled by an open source project called Datasette. And the supporting content is managed in a Hugo site. Datasette is built with software called Python. The data itself is stored in a SQLite database, a third open-source tool. Datasette is a perfect match with SQLite, enabling a friendly, interactive browse/search/chart/API feature set. To make the site look nice I used a stylesheet library called Tailwind CSS. (Turns out I like working with this library, along with all the other tools.) I liked using Shuffle! as a starting point for this, and built from there. Over the “Interwebs,” I found two web developers who both offered tremendous support to this project. Adnan Shahid converted the Tailwind theme into a WordPress site, and also themed the Datasette site to match. He also built a little search function for the FAQs and blog posts. Readul Hasan Chayan assisted in the development of the engine of the site: the GitHub Action that daily requests the data from the EPA. He also wrote a plugin to better manage Datasette’s Facet feature. The creator of Datasette, Simon Willison kindly offers office hours. A number of times, when I found a bug or requested a feature, he fixed the bug, or built the feature! In a future nerdy post (likely when the next version of Datasette is released), I’ll share some of these developments. Along with Datasette, Simon really built a whole ecosystem. Some of the tools in that ecosystem that we used (in addition to Datasette), include sqlite-utils, and datasette-vega. A number of times when the EPA data source included obviously errant data (missing data, or information in the wrong field, spelling inconsistencies, etc.), I issued reports to the ombudsman, and it was always satisfying when those reports were turned into corrections. It would be nice if the EPA provided better guidance on the health impacts of the chemicals whose use it approves. It is a challenge as a volunteer to take on a task like this. We are doing our best to offer this information to you, and look forward to hearing your stories, if we are so lucky, of transitioning from increased-risk to safer products.