In 2012, Tom Steinberg, founder of MySociety, said:

“Good governance and good society are now inextricably linked to the digital.”

Five years later, this statement feels even more relevant and urgent.

At Code for America, we think about this idea a lot — we can’t best serve society and the people who need it most if we don’t start to really integrate government with the way that we live our lives every day.

For a lot of us, that’s on our phones . I want to use a few examples to talk about the idea of good and bad services.

From my own life: good, mediocre, and “bad” services I use.

  • A good service is one we love to use and often. For me, that’s Instagram.
  • A mediocre service is one we use often, but can see room for improvement in. For me, that’s Apple Music: I use it nearly every day but it took me months to figure out where the buttons for repeat and shuffle were.
  • A “bad” service? My local credit union’s app. When I say bad, I mean it’s inconsistent, I don’t understand the information architecture, things are hard to find on it, there’s 3 levels of navigation, and it has a lot of downtime.

But all these services have something in common: I opt into them. These are choices I make — for example, I chose to leave Spotify because Apple Music was cheaper, but I’m still paying for it.

When I use that “bad” service — the credit union app — my frustration is limited, because I can do what I need to do with it. I can still check my balance and e-deposit my checks. It may not be as easy or pretty to use as the Chase app, but they ask for feedback and are trying to improve the experience for their customers.

When we talk about designing government services, we have to realize our customers didn’t choose to be customers. Our user base is everyone. We don’t get to choose who to cater to. We have to design for everyone.

Here is the existing system for applying for food assistance in San Francisco County on a phone.

The existing system on a phone.

Finding value in the cost

All the screens to apply through the existing system (on a desktop display).

When you put a paper form online, without considering how the different medium will impact the experience, it’s creating the equivalent of a stack of papers — just on the internet. Through this existing system, you can apply for more than just food assistance, but you still have to complete this form. It’s 50 pages long and has more than 200 questions, some of which make absolutely no sense. 62% of people who start it won’t finish the application.

On-demand or same day cookie delivery in San Francisco.

Today, in San Francisco, we can get fresh baked cookies delivered to us in less time than it would take someone to go through this application (1 to 3 hours).

And the whole system costs a lot to build and maintain. This kind of cost isn’t unique to California: for example, Illinois’s system costs $30 million a year to maintain, and Georgia’s costs $40 million a year, etc. What frustrates me about systems like this costing millions is that I don’t see the value of that cost in terms of design thinking in the details of this experience.

In 2017, there doesn’t seem to be any reason that we should be spending that much money on something that doesn’t adhere to the principles we’ve learned or to our own professional standards and recognized best practices .

Bad UX has real impact

Application experiences like these are the barriers between families in need and them receiving up to $150 dollars a month to help with their groceries. How is this good governance? How do we continue to let this be the thing, when fresh cookies could be in my hands in 15 minutes?

Besides the cost and my own aesthetic grievances, why is this application a problem? Well, a bad user experience has real impact in terms of how we serve residents.

The federal SNAP (Supplemental Nutrition Assistance Program) participation gap is about 19%: of the 55 million people in the United States eligible for SNAP benefits, 45 million are participating.

California is much worse. We have a 34% gap: of the 6.7 million people eligible for benefits, only 4.4 million are participating. 1 of 3 people who need help in this state aren’t getting it. That puts us towards the bottom of the list in state participation — 47 states do better than us. As a California native, I am used to us being the best (go Warriors!). We aren’t taking care of our own people and we can do better.

At Code for America we’re taking this problem on. Our goal is to close this participation gap, and get more people the help they need. But simply redesigning how something looks wouldn’t be doing anyone any favors. Effective service design starts with breaking down the entire process.

Rethinking the application process

There are a lot of factors that go into making an experience usable, and inform design, which a lot of government service design aims to rethink, the language we use is just as important as how we style inputs.

When we started designing the applicant-facing side of GetCalFresh — an improved way for California residents to apply for food stamps — we decided the “voice” of the form would be that of a social worker helping guide an applicant through the process.

In-depth analysis about exclamation points with my colleagues Norris and Alan.

We were also able to bring down the number of questions using a Turner rules application, meaning we ask the minimal number of questions we can in order to still submit a complete application for CalFresh benefits.

Looking at the experience holistically and breaking down where applicants got stuck and why, helped inform our design, but it also helped us define some product values . We are teasing out what it means emotionally to apply for social safety net services. This defines our brand values and how we design for our users, which again, is everyone.

Our (working) product values.

Think about the last interaction you had with government. For me, I had to expedite my passport renewal and it took me an hour to pull together all the information on how to do that because it was scattered on different pages on the State Department website. A lot of times, our interactions do not feel calm, reassuring, patient, transparent, trustworthy, clear, concise, or any of the other words we listed above. At Code for America, we want to change that, and give all our users a dignified experience. They’re coming to us in a vulnerable state and we should respect that.


We were able to make an MVP for a CalFresh application using Typeform, and it worked: we were able to prove that people would be willing to apply through a more modern, new experience than the legacy systems. This was promising, but it wasn’t a scaleable or long-term solution.

Left: Bootstrap. Right: Adjusted Bootstrap.

We moved off Typeform and started building our own backend, and for styling, we started just using Bootstrap. I don’t love Bootstrap because it’s one-size-fits all, and that doesn’t always fit into the best experience for your own users, but it was still an improvement. Using those defined principles as guidelines, we made some simple improvements to the bootstrap CSS for things like legibility and mobile responsiveness.

And here it is today! This is what is live now . We’ve submitted more than 17,600 applications, and you can visit it at and fill out a demo application to experience it yourself.

We use large tap targets and a friendly tone. We give users an idea of how long the application takes, what the next steps are, and offer them support via chat throughout the process. We continue to collect user feedback and that helps inform improvements to the interface and flow.

An important part of our work, and all service design, is meeting your users where they are. Here are a few examples of how user research has informed our designs.

Testing in our “device lab.”

We found 31% of our users come to us via a mobile device. 14.8% of all visitors are using an Android OS. Testing on real world devices is important. This is our very old and weirdly light LG running an old Android OS. We were able to test usability and performance on it in a way we couldn’t replicate through browser testing. in Spanish

It’s also looking at things like Spanish, and understanding the best ways to design for a non-English users. We tested our translation with native Spanish speakers to make sure the flow was comprehensible, which doesn’t mean identical to the English flow. We also have a client success manager who is fluent in Spanish and helps collect feedback and identify roadblocks for that audience.

Design should be a public good

I’m so proud to have been a part of that team and project, which is continuing to evolve and grow to more counties in California with collaboration from our partners at the county and state levels. But that’s not the only thing we’re working on here; for the past few months I’ve been working with the Clear My Record team on content strategy for people applying to clear past convictions off their criminal records, freeing up opportunities for them to get better job, housing, and educational opportunities. We’re also working on ClientComm , a service helping to reduce recidivism by connecting case managers with their clients. Monique Baena-Tan , who co-presented with me at San Francisco Design Week this past June, is applying design thinking to the government hiring process, which you can read about here.

With Madeleine Albright in November 2016

This is my first job in public interest technology, and oftentimes it’s been difficult and intimidating, but it’s the best job I’ve ever had. It’s the most meaningful work I’ve ever been a part of and this community — not just people at Code for America, but so many others in the civic tech space — is best group of people I’ve ever had the pleasure of working with. I am honored to have the opportunity to work on these things with them every day.

We believe design is powerful. But it’s expensive, and the people who need the creative problem solving we define as “design” often can’t afford it. Design should be a public good — Monique actually wrote this on her application to work at Code for America. We try and live this out every day. Work like GetCalFresh and Clear My Record proves how important digital services teams and practices are to the future of government services.

If you’re reading this, you probably also believe this statement. There’s so much work to do, and we need more people thinking about and doing this work right now. It’s a growing community and you can be a part of the group that’s helping define the best practices for this work.

What can you do?