This was built by some friends of mine, my former colleagues at Code for America. Their basic notion was that applying for CalFresh (our version of food stamps) was too hard. So they applied classic Lean Startup techniques to solve the problem. They ran Google ads and directed assistance seekers to a simple Typeform that had barely enough information for the best case, and figured out how to get people benefits Then they iterated rapidly. You can read more of their story in this two-part article: https://leanstartup.co/part-1-from-root-hypothesis-to-functi... https://leanstartup.co/part-2-from-prototype-to-real-transac...
From the stories I've heard from them over the years, the real problem was neither incompetence nor malice. It's that doing anything involving a lot of different people is really hard. The counties actually had online application for years. But those systems were built by large government contractors, and they focused on satisfying the law and the rules. They focused on completeness, on perfection, on conformance to spec. Like so much enterprise software, user experience just ended up being a low priority. There are lots of causes for that, but it's not like any single person is to blame. Everybody's just responding to their local incentives, trying to get by.
Happily, a lot of the people in government I've met truly believe in public service. For me the moral of GetCalFresh is that almost everybody involved wanted things to be better. The trick is showing them how to make that happen in the context of the system they're in.