William Jeffries
Civic Hacking on Rails

Civic Hacking on Rails

by William Jeffries

In the talk "Civic Hacking on Rails" by William Jeffries at RailsConf 2015, the speaker emphasizes the vital role of web developers as 'civic hackers' who can influence their communities for the better. He opens with a quote highlighting the magic of technology, reminding attendees of their responsibility to use their skills for good. Jeffries shares his personal journey into civic hacking, focusing on addressing the urgent issue of inadequate heating in low-income housing in New York City through a project called HeatSeek. The prevalence of heating complaints and legal stipulations exacerbating the issue underscore the necessity for action in civic tech.

Key points discussed include:

- Civic Duty: Developers should leverage their skills to positively affect society, embracing the idea of civic hacking.
- Challenges in Civic Hacking: Jeffries outlines five traps civic hackers may encounter: the hackathon trap, the field of dreams fallacy, media hype distraction, pushback from existing structures, and deviation from core project goals.
- Using Open Data: The importance of utilizing available government data to inform projects and mobilize communities is highlighted.
- Collaboration with Non-Developers and Managers: The value of having non-developers in civic hacking projects and the role of good management to maintain focus is addressed.
- Financial Stability: Maintaining day jobs allows hackers to pursue civic projects without the pressure of profit-driven motives.
- Perseverance and Teamwork: The necessity of resilience and support within teams is stressed, as these factors contribute significantly to project sustainability.

Jeffries concludes by encouraging developers to actively engage in civic hacking, participate in local initiatives, and contribute their skills to create meaningful societal change. He reiterates the magic of technology and the responsibility of developers to use their powers for good, ending with a call to action to explore civic hacking further. Through collaboration, focus, and commitment, developers can make a significant impact on their communities and address complex social issues effectively.

00:00:12.800 I'd like to start this presentation today with a quote: 'Any sufficiently advanced technology is indistinguishable from magic.' It's a fact, and it's something we take for granted as web developers. We work with technology every day, and it starts to become routine. We forget that if you were to ask someone on the street in Atlanta how the internet works, they would tell you the truth: it is magic. The internet is magic, and we are damned wizards; just look at our beards. We build this core foundation on which our very society is built. Our government depends on it, our economy depends on it, and our culture depends on it. We create it from bits of HTML, CSS, and JavaScript, and it is indeed magic.
00:01:30.560 As anyone knows, with great power comes great responsibility. All of you in the room with me today have a responsibility, nay, a duty—a civic duty—to yourselves and all the muggles out there to use your powers for good rather than for evil. Some of you I know use your powers simply for your own amusement or to earn a simple living. Well, today I hope to inspire you to bring lightness and goodness into the world, to take up the quest of civic hacking, and to make a contribution to our society and our community.
00:02:16.760 I aim not just to inspire you but to warn you of some of the perils you may face on your journey and that I faced on mine. I also intend to equip you with some of the tools you may need for your prepper backpack so you can be ready, as DHH would call it. Now, I started my journey into civic hacking and Rails magic not too long ago. I was a student at the Flatiron School, and it was a snowy night in New York City. I was up late on campus in Manhattan, downtown in the financial district, right by the Wall Street bull. The icy wind was cutting through the streets, and even in the halls of our ivory tower of technology in academia, it was cold.
00:03:02.640 You may not know this, but New York City is not just its old buildings full of history; they're also full of broken boilers and drafty windows. Old steam pipes with peeling paint run to rusty radiators, especially in lower income areas, where this problem is epidemic. People living in such buildings don't have control over their temperature like many of us do; they don't have a thermostat on the wall. Instead, they depend on their landlord to provide sufficient heat. In lower income areas—although the problem isn't limited to them—many people do not get the heat that they need. This isn't just a problem for New York City but a problem all across the northern United States.
00:03:38.880 Every year in New York, where this problem is particularly bad, a new story comes out from the New York Times. The year that HeatSeek got started, one such story was about the Ortega family. They lived in an old building in Crown Heights, Brooklyn. Christine Ortega had a daughter with cerebral palsy who was six years old at the time. She requires a lot of medical equipment, and they were not getting sufficient heat. After calling the landlord and the city to complain and getting no response, she ended up purchasing a space heater. When she plugged it in, the draw from the heater and her medical equipment was too much, and it blew a circuit. Her best effort was to prop a mattress against the window to try to keep the drafts out.
00:04:44.320 This is not an isolated incident. I wish it were, but there are 200,000 heating complaints in New York City alone. God knows how many there are across the United States or worldwide. One of my team members created a map called the 'cold map.' It shows heating complaints broken down by zip code; the darker the blue, the more heating complaints in that area. Unsurprisingly, this corresponds tightly with the areas of the Bronx and Brooklyn hosting predominantly low-income demographics.
00:05:16.800 It's a big problem, not just because it's dangerous but also because it's illegal. In New York, housing codes prohibit landlords from letting indoor temperatures drop below 68 degrees during the day and 55 degrees at night. Similar laws exist in Philadelphia and Chicago with slightly different rules. The issue isn't that people are unaware; it's that it's impractical for a city to monitor the temperature inside every old building within its borders. Given the sheer volume of these buildings, it's an impossible task, a limitation of technology.
00:06:01.680 I remember that snowy night at the Flatiron School, looking out and trying to come up with a project for class. How hard could it be? Now granted, it was actually really hard. At the time, I was quite naive; this was the first app I ever tried to build. I didn’t know what I was getting myself into, nor could I envision what HeatSeek would become. I didn’t imagine a network of temperature sensors across neighborhoods or an app that would analyze and produce reports for advocacy groups to use in their fight for justice.
00:06:55.600 All I imagined was a simple graph connected to a simple wireless thermometer. I thought, you know, how hard could that be? Then I fell into the hackathon trap—which was the first of five traps that I encountered in my civic hacking quest. If you've ever been to a hackathon, you know the drill: everyone is thinking about how they have this great idea and that if they focus solely on it for the next 48 hours, prioritizing everything else—even bathing—they might create something cool.
00:07:25.440 However, distractions are everywhere, and you can easily burn out. You might make it through 48 hours with something that you can hardly stand to look at afterward because you were so exhausted from the process, and that's what happened to me. The app would likely have died if not for a couple of things we did, almost by accident. I had roped in another student who was also getting distracted. How do you keep your focus? One way is to agree to give a presentation in front of a bunch of students.
00:08:03.360 We felt we would be horribly embarrassed if we didn't have something to demonstrate at this presentation. Another thing we promised was to a user who had a cold apartment and wanted the technology to generate proof for his landlord or the city to get the problem fixed. Just putting your reputation on the line is critical; it's the key to surviving the hackathon trap. You may be thinking, 'But I don’t have an idea.' I didn’t have a bolt of inspiration either; I needed to create a project. So I went looking at open data sets.
00:09:02.800 There is a wealth of government data available at the city, state, and federal levels coming online, much of it unexplored. There's truckloads of data waiting for someone to dig in! They just released traffic info showing where collisions happen in cities. Imagine mapping that out to identify the most dangerous intersections in America, or better yet, don’t rely on others’ technology. Instead, gather your own data. Many adults have smartphones with geolocation capabilities, accelerometers, and microphones, allowing for ample data collection and influencing policy.
00:10:00.760 People often hesitate to invest in infrastructure because it's costly and not politically expedient. Many old infrastructures need repairs and help. We can crowdsource that information and make it politically viable to invest in our infrastructure. If you really want to make an impact, automate advocacy! Don’t just use open data; automate the advocacy process for those in need. Social workers, public defenders, and community activists are always underpaid and overworked, and if you can lighten their loads by automating some tasks, you can have a huge impact.
00:10:44.720 What HeatSeek does is empower advocacy groups by automating one of their hardest tasks: gathering evidence. You might think, 'I don’t want to listen to your civic hacking ideas; I have way cooler ones.' While you likely have better civic hacking ideas than mine, many of those ideas may end up languishing, neglected in your GitHub repos. Why does this happen? I believe it's due to the 'field of dreams' fallacy, where we think, 'If you build it, they will come.' We built a minimum viable product (MVP) and had it working with temperature sensors collecting readings.
00:11:29.760 But as time passed, we started losing interest because nobody cared, except for one person. The truth is that nobody knew about it. If you build something, you must tell others about it; if you promote it, they will come. This realization is the cure for the field of dreams fallacy. But be careful with hype; it can be a double-edged sword. The third trap we encountered was getting carried away with press coverage after hyping up our project, leading us away from coding. Our focus drifted toward what reporters found interesting rather than what was essential.
00:12:13.440 Reporters are not going to ask about code coverage; they want to know about user growth and metrics. This distraction can hinder your work and upset the very people you aim to help. If you develop a civic project aimed at assisting lower-income demographics, you may encounter people praising you for being so noble and generous. While it's flattering, it can blind you to the criticisms from those you aim to support. They may not need your perceived pretension or assistance, especially after having dealt with their difficulties long before you arrived. They might just want you to get out of the way.
00:12:43.960 Those in the government you hope to assist often already have years of experience dealing with these issues. They might even see you as a nuisance if you come in thinking you know better than them, and this can lead to pushback. Many civic hackers innovate in the public sector, but realize that government agencies understand the challenges deeply, and often have proven methods for handling them that could inform your efforts. Be cautious of their advice, and instead of trying to reinvent what they're doing, work within their frameworks and incorporate their insights.
00:13:19.720 Another challenge is the influx of requests to pivot your project in new directions that might sound feasible but could distract you from your core mission. Examples include requests to tackle global warming or become competitors with industry giants. At first, many of these requests seem like plausible suggestions, but they can become deviations from your main goals. These distractions can dilute your focus on what is essential and cost your team time and resources.
00:13:53.600 Then there are distractions that seem like brilliant opportunities but often pull you further from your core mission. These requests may sound tempting, suggesting you expose an API that doesn't align with your immediate goals. Remember, the reason those items are at the bottom of the backlog is that they're not currently relevant. Your focus should be on gathering data to inform the API before it's usable. It’s critical to stay focused on your mission and prioritize the tasks that lead to viable outcomes.
00:14:34.560 Reflecting on all the challenges I've faced, you may ask, 'Why should I listen to you?' Despite those obstacles, we turned it around. We have kept the heat on through our efforts, with dozens of sensors in the field collecting data. We have even detected actual violations. For example, here's a graph from a tenant who is currently in litigation, showing those orange dots representing recorded temperatures that fell below legal limits. These instances highlight our success in mobilizing community resources to improve living conditions.
00:15:05.200 So, what are the secret weapons in your prepper backpack as you venture into civic hacking? There are four key elements. The first is non-developers. They often receive a bad reputation, especially in hackathons, where you might experience that one business guy who seems unproductive. However, in reality, non-developers are vital. Any meaningful long-term civic hacking project will require more skills than a developer possesses alone. When you assign responsibilities to specialists, you free yourself to focus on coding and the aspects you excel at.
00:16:06.640 The second secret weapon is managers, which is a controversial yet crucial addition. Many developers harbor resentment towards managers, but a good one can be a shield against unnecessary meetings and distractions. Good managers protect you, allowing you to focus on your best work while directing others toward their expertise. Once we implemented managerial roles, productivity in our project improved dramatically. The third secret weapon is retaining your day job. I’m fortunate to work at a supportive dev shop where my civic hacking side projects are encouraged.
00:16:50.720 Having a regular paycheck means I don’t have to compromise my original vision out of financial necessity, and I'm less tempted to pivot towards profit-driven motives. Having that financial stability enables me to concentrate on giving back to the community without distractions. Thus, I can focus on issues critically important to help constituents rather than turning the project into a profit-making venture.
00:17:44.120 Finally, the fourth secret weapon is perseverance. It makes up for any blunders or pitfalls you may encounter. Individual perseverance is important, but teamwork is crucial. Supporting one another within a team fosters resilience. On days when your confidence might waver, you have others to remind you of your purpose, keeping you grounded. An organizational habit of regular meetings can help maintain momentum, and it’s through these weekly commitments that we’ve been able to sustain our project through its ups and downs.
00:18:17.520 As Rubyists, we are a community too. RailsConf exemplifies such community spirit. Because of this, you may feel prepared and equipped with tools to tackle civic hacking and recognize its value. However, it's easy to forget the passion that ignited your interest in civic hacking in the first place. When it comes to why this endeavor is so significant: remember, the internet is magic, and we are goddamned wizards.
00:18:45.600 We have a responsibility—a civic duty to use our powers for good rather than evil. If even one percent of the code that we produce went toward civic hacking projects, we’d live in paradise. So, I’m calling you to action: after this conference, join your local Code for America brigade, fork a civic hacking project on GitHub, or initiate one of your own. The society we inhabit has its issues, and it is up to us to fork it and submit a pull request. Thank you.