While San Francisco’s lush rolling hills define iconic destinations like Lombard Street and Nob Hill, they also make the city particularly prone to flooding after heavy rains. Water quickly inundates low-lying areas and, while the city has over 25,000 storm drains to help shepherd the water away, these storm drains can quickly become clogged with debris, causing localized flooding. In addition to being an inconvenience for pedestrians and drivers, this flooding can cause significant damage to properties and city infrastructure.
Keeping drains clear to prevent serious flooding is a challenge for the San Francisco Public Utilities Commission (SFPUC), the department charged with maintaining the storm drain system. Although SFPUC proactively targets known problem drains, the Commission does not have the resources to clear every drain before every storm.
Enter Adopt a Drain, an app that enables residents to find their closest storm drain, claim it, and agree to clear any debris in advance of storms, tapping into San Francisco’s greatest resource – civic-minded residents. To support these volunteers, SFPUC provides them with tools, supplies, and training. The app was developed in a partnership between SFPUC, the city data office, DataSF, and Code for San Francisco, an organization that brings together volunteers interested in finding technological solutions to the city’s problems. Adopt a Drain is one of only two volunteer-built web apps that have evolved into a permanent, departmentally-funded app in the city.
The results speak for themselves: as of this writing, 1,500 drains and counting have been adopted. Most impressively, Adopt a Drain has transformed from a volunteer-driven initiative into a fully-funded program, with SFPUC providing the budget and resources for continued support and improvement.
But what was the key to its success? The battleground of civic tech is littered with projects that briefly burn bright but soon fizzle. Haunting the nooks and crannies of many government websites are applications last updated a decade ago (with the UI to match). Sadly, those involved in civic tech circles know a good idea and an app are often not enough to make a successful civic tech program. The development and sustainability of San Francisco’s Adopt a Drain sheds light on important lessons for success.
From Idea to Prototype
The roots of Adopt a Drain began at the Code for America Summit in 2015, an annual conference that brings together civic hackers and government officials for three days of workshops and networking. Inspired by Boston’s Adopt a Hydrant – a Code for America project to help the city of Boston keep fire hydrants clear of snow – Jesse Biroscak, then Brigade Captain of Code for San Francisco, realized San Francisco could tailor the project to meet its needs. Biroscak spoke with Jason Lally, Open Data Manager at DataSF, about the possibility of replicating Boston’s program to help with San Francisco’s flooding issues. Although the city’s water drain data was not yet on the portal, SFPUC Communications Manager Jean Walsh happened to be at the Summit. Walsh had been “going to hack nights for fun” and was naturally attracted to the energy of the civic tech space. Biroscak approached her and she was receptive to the idea and wanted to try it out.
Code for San Francisco rapidly developed a prototype in just two weeks, thanks to the work of Jesse Szwedko, a member of Code for San Francisco who served as the Adopt a Drain product manager and, according to Lally, also acted as the ‘senior engineer,’ providing the majority of the ongoing coding support. Szwedko, Biroscak, Lally, and Walsh advised that other cities focus on a few key principles to speed up the timeline for a city-volunteer partnership like this.
Be willing to show up, and come with a plan. Walsh came to Code for San Francisco’s hack night, a weekly meet-up of volunteer technologists, and explained SFPUC’s problem statement. This step was key, according to Biroscak, and helped focus the project.
Ensure departmental representation. Szwedko noted that Code for San Francisco is a volunteer-run organization where volunteers regularly pitch new projects and attempt to garner buy-in. Historically, pitches from department representatives (as opposed to interested volunteers) were rare to non-existent. The presence of an actual department representative “[gives] legitimacy to the project” and helps garner interest from other volunteers because they know what they are working on may be adopted by the city.
Start with a pre-existing codebase. Lally pointed to the ability to adapt existing open-source code from Boston as what enabled such a rapid turnaround time. Szwedko and Lally, along with Code for San Francisco volunteer Ryan Wold, had a working prototype in two weeks. While Szwedko and Wold could have developed the application from scratch, the timeframe would have been much longer. Additionally, getting buy-in from the relevant department was far easier with a working prototype for them to see. This means any early development work is done under a certain amount of uncertainty. Two weeks for a prototype with no formal department support is doable. Several months? Less so.
Prototype to Launch
The project now had Walsh, the departmental champion, and a working prototype. Many civic tech projects make it to this stage, but how does a project go from just an app to a fully-funded, sustainable program that a department implements? Having a departmental champion was an asset, but one person by no means speaks for a department. The project needed to bring higher-ups on board.
To gain departmental buy-in, programs must overcome a number of hurdles, chief among them skepticism, legal issues, and cost. A working prototype helped alleviate skepticism from SFPUC, but the legal department had concerns about the safety of residents cleaning drains. What if they were hit by a car, got sick, or tripped and fell? The program’s champions assuaged those concerns by including provisions to distribute brightly-colored safety vests and guides for adopt-a-drainers, as well as pointing to long-standing ‘adopt a highway’ programs in other municipalities and San Francisco Department of Public Works’ ‘adopt-a-street’ program.
Walsh credits a snowball effect for garnering buy-in from different parts of the department. Early support came after the project leaders highlighted ways the Adopt a Drain program could help different offices meet existing mandates related to street cleaning. For example, Adopt a Drain helps the SFPUC Pollution Prevention Program meet regulatory requirements regarding outreach and education in municipal separate storm sewer areas. These early buy-ins helped bring others on board and led to formal financial support from the department to pay for safety vests and tools for drain adopters ($10k), promotion in the form of web and TV spots for Adopt a Drain ($15k), and the web application hosting cost ($1k).
While Walsh was promoting the program within the city, Lally was playing the crucial role of communication hub, updating the Code for San Francisco Brigade on the state of the project. Walsh had a full-time job developing departmental buy-in, and this process took months as compared to the two weeks of the initial prototyping phase. While natural, the contrast between the rapid pace of technological deployments and the protracted waiting period for adoption of a fully-funded program can be frustrating. As Walsh sought buy-in, volunteers with Code for San Francisco who had signed up to build Adopt a Drain were now providing all technical support and maintenance for the application and were naturally becoming anxious about the project’s adoption. Lally helped manage the expectations for the volunteer coders, keeping them apprised of the realities of departmental buy-in as well as providing frequent status updates, thereby ensuring continuity of good relations with the partners.
In October 2016, the program formally launched with an event for volunteers at the Southeast Wastewater Treatment Plant.
Road to Sustainability
Adopt a Drain became an official city project, but the story doesn’t end here. As Walsh stated, “the alignment of volunteer and agency interest has a temporal component.” It is one thing to rely on volunteers to build out an application, it is another to expect them to provide day-to-day support. This reliance on volunteers for a public-facing service was no small source of anxiety for Walsh. The volunteers for Code for San Francisco were always responsive to requests for changes or fixes, but clearly the city needed to find a more sustainable method.
Complicating this was the fact that the app was written in Ruby on Rails, a coding language that was, at the time of launch, not supported by the SFPUC IT Department or the City’s Department of Technology (DT). For several months, the future ‘home’ of the project was uncertain. Fortunately, DT hired a developer familiar with Ruby on Rails, which allowed for DT to take ownership. Had this not occurred, the cost for long-term support could have potentially been much higher.
The key actors all highlighted a few key themes they say explained the project’s success.
- Communication and trust – The project began essentially with strangers—volunteer civic techies and department champions. They did not work in the same building nor for the same organization and there was an ever-present danger of an ‘out of sight, out of mind’ mentality slipping in. In order to keep everyone engaged, project leaders ensured consistent communication. For the volunteers at Code for San Francisco, a message of “no movement this week” was better than no message. Jason Lally’s role as expectations translator was frequently cited as instrumental to maintaining high levels of mutual trust.
- Articulate the problem – A department champion is clearly an asset, but a champion with a focus is even better. Walsh’s ability to clearly define the scope of the project was a key element to its success.
- Meet halfway – Walsh was likewise praised for actively engaging with Code for San Francisco, by attending hack nights as well as using developer tools such as GitHub (as opposed to email) to submit requests. However, Biroscak noted that civic hackers could learn a few lessons from Walsh. He says, “there are many people in government who would make exceptional civic partners. The trick is finding them and recognizing they have family and kids at home that they want to see at 5 p.m.” Biroscak suggested that Code for America Brigades could help generate more projects like Adopt a Drain by something as simple as “meeting folks during both of your lunch hours…throw[ing] a brown bag lunch at City Hall.” Open data offices or other city departments can help facilitate this by connecting with local Code for America Brigades and helping with logistics (simply reserving a meeting room) and promotion of a brown bag.
- A ‘yes, and’ orientation – There were several points in the Adopt a Drain story where many other civic projects have run aground. People’s willingness to keep an inquisitive and optimistic framework to legal and cost hurdles allowed Adopt a Drain to see the light of day.
The project’s leaders also brought up some suggestions for what they would do differently if they could:
- Agreed-upon communication expectations – Something as simple as bi-weekly updates would have helped provide continuity for the civic tech side.
- Plan for sustainability – Even at the prototyping phase, cities should begin sketching out where this project could live permanently. Is it a city’s IT department? If so, what languages does the department support? While the existing code base for Adopt a Drain already used Ruby on Rails, if they were designing from scratch it would have paid to consider building in languages already supported by SFPUC’s IT department. Alternatively, look to other sources of support, Biroscak suggested. For instance, establish small-scale maintenance contracts for the app like that between Code for Charlotte and the City of Charlotte, NC for CityGram, an app for residents to receive live updates on topics or areas of interest. The size of these contracts is often small enough to avoid procurement hurdles.
- Don’t underestimate word of mouth - Walsh attributed the majority of the adoption to social media-powered word of mouth. While SFPUC did produce traditional ads for cable TV, they saw minimal increase in signups during the period the ads aired.
Plans for the Future
Over 1,500 drains have been adopted, and surveys conducted by SFPUC suggest 54 percent of drain adopters regularly clean their drains. Other surrounding counties are taking note, with the city of South San Francisco recently initiating their own Adopt-a-Storm-Drain program.
SFPUC is actively exploring the ability to send text messages to adopters to inform them of incoming storms as well as to implement a feedback loop so SFPUC knows when a drain has been cleared. Once the program matures, they also intend to track its effects on rates of reported flooding in the city.
For Code for San Francisco, the success of Adopt a Drain has provided a useful case study when engaging with other departments or non-city clients. It demonstrates for potential clients a proven path from their volunteer-driven efforts to a fully realized program.
Adopt a Drain shows that civic tech partnerships can lead to sustainable improvements in how the city interacts with and engages its residents (see this article for a good overview). Its development also reminds us that successful civic tech partnerships are more than just an idea and an app; they are partnerships built on trust, communication, and understanding.