You can steal Sara Simon’s sewage bot...and everything else she makes
There were a lot of sewage spills last summer in Vermont.
Unfortunately, the state website that reported those spills was somewhat hard to navigate — people who wanted to know if their water was safe to drink had to manually refresh a website and then check to see if their municipality was listed.
That is, until Sara Simon’s sewage bot - lovingly referred to as the “poop bot” - was created.
Sara, the Web developer at Vermont Public Radio, is the person behind @DirtyWaterVT, a Twitter bot that tweets out sewage spills as they occur. It’s one of the many projects she’s cooked up while working at VPR, a station that serves a state where 30 percent of people don’t have access to broadband Internet.
Sara’s projects make it easier for people to find information without having to navigate multiple websites or figure out what to search for. She's continually cooking up “public service bots” that connect people to services and information they need.
Many of her projects are open source and would work equally well in other local markets. I asked her to answer a few questions about living in Vermont, how her bots work and how they can be adapted by other news organizations.
Before we talk bots, I want to talk about your job at Vermont Public Radio. Could you describe what it means to be the Web developer at the station?
People usually have a lot of questions about what it means to build Web applications for a radio station. The short answer is that it can mean a lot of different things. The better answer is that my role on the digital team is to build Web technologies that will help us to tell stories.
How do you get your Vermont-based news? Who are the best people/publications to follow in Vermont? (Go as hyperlocal as you want.)
I start every day on Twitter. Honestly, no one publication can match the reach you get when you follow people who share stories from all different sources. I've got to plug VPR, of course. I'm constantly impressed by the stories we're producing. I'm a big fan of everything Seven Days, Vermont's alt weekly. Erica's Heilman's Rumble Strip Vermont podcast is tremendous.
Okay, let’s talk bots. You made a poop bot. Why? How'd you get that idea? How does it help your newsroom?
All credit goes to Taylor Dobbs, VPR's digital reporter. Taylor knew there would be stories in the sewage, and he used to sit at his desk and spend his days refreshing Vermont's database of reported sewage overflows. One day, he asked if there was a way to have news of the spills come to him instead.
We bounced around the idea of an email alert, but for the sake of making it as public as possible, a Twitter bot seemed best. All it's doing is reaching into a hidden corner of the Internet and bringing public information front and center. All of the code is available on GitHub. Pull requests are always appreciated. Forks would be amazing, too. Take this code, tweak it to meet your needs, and use it to scrape and share the information you're after. Public media at its finest.
You also made an archival bot for Vermont Public Radio. Could you talk a little bit about that?
This project was totally selfish. I was both brand new to Vermont and brand new to working in media. I wanted to sit down and read through VPR's digital archive without actually having to, you know, sit down and read through VPR's digital archive. Two stories a day seemed manageable, so once in the morning and once in the afternoon, @vparchive digs through our digital database and finds a random story to tweet. On Thursdays, it adds a #tbt.
You seem to pull in ideas from lots of different places. How do you share what you know back out?
That's a good question. I guess I share a fair amount on Twitter? Every line of code I've ever written is publicly available on GitHub, and I try pretty hard to write thoughtful commit messages. I wrote a really long Medium piece earlier this year. I'm in more Slack rooms than I can count, but they're all great resources. I speak at conferences and meetups not infrequently. I'm in book clubs. I grew up in creative writing workshops, which is actually a really great way to learn how to both give and take feedback. I like meeting people for drinks and asking them questions. I text my brother with all of my random thoughts every day. That's probably not what your question was trying to get at, though.
But you didn’t start out coding….How did you learn how to code? If people wanted to learn what you do, what would you recommend they do?
I'm a proud graduate of the Turing School of Software and Design, a seven-month program in Denver. Code schools are not without controversy, but Turing was a great fit for me. I think there's a big difference between wanting to be a professional Web or software developer and wanting to learn enough code to make everyday tasks a little more efficient and a little more interesting.
So much of the tech industry will tell you that the best way to learn to code is to sit down and practice coding, but even before that happens, I think it's important to learn to read code. GitHub is overwhelming, but start small.
Find tutorials and force yourself to stare at the code snippets. I've had a lot of luck with exercism.io, a test-driven approach that keeps problems small and lets you read and comment on other solutions once you've submitted your own. Take notes. Day one at VPR, I started keeping detailed notes about every bug I ran across. This notebook has saved me so many hours. The longer I do this, the more I'm convinced that writing good code is really just making good guesses and finding good connections.
What else are you working on?
VPR has another bot in testing, @vthospitalinfo. The goal is to tweet out hospital inspection reports as they are made public. It works! I'm also starting a project with VPR Classical to build a kind of interactive experience for Timeline, a podcast that explores the history of Western music.
Non-work projects? For a long time, I've wanted to use GitHub as a creative writing platform. I have a lot of ideas about this, but none of them are totally fleshed out yet. A few months ago, I was stuck in an airport and wrote Shakespeare's Sonnet Seventy-Six through git commits and Python. Eventually, I'm thinking I'll create a few different GitHub accounts for a few different characters, then tell a story through their repos, their branches, their pull requests, that kind of thing. I don't know. It might be a total disaster. I've also been taking a tap dancing class. Our recital is in May.
If you could change one thing about how the public media system works, what would you change?
I've been really surprised by how private public media feels. The idea of an open source community is our biggest blind spot, I think. The digital team here almost didn't believe it when I got my first totally unsolicited pull request on a VPR project. It was amazing! A local developer here in Vermont found and fixed a bug I didn't even know existed. Why can't more of public media work like this? The industry feels insular in a way that's just completely backwards. It is in our best interest to share our finished work, obviously, but also to share our work in progress, and to share it especially with people who might take it, learn from it, and then spin it off into something completely different.