Last fall, Patrick McCabe was scrolling through San Francisco’s repository of 311 complaints when he discovered an intriguing feature: S.F. 's database is available for people to use in their own apps and software.
The feature is called an application programming interface, or API, and it is often provided for third parties to pull real-time info for things like weather or traffic. But S.F.’s API also allows for information to be sent to the city.
He knew the city already offered an app for 311 reports, which cover everything from graffiti to noise issues. He also knew that it could be somewhat clunky, requiring a user to take several minutes and fill in a lengthy form. And so, as so many developers do, McCabe turned to AI to jazz up an existing idea.
The result: A free iOS app dubbed Solve SF, which launched this month.
“The city’s app isn’t bad, but submitting a request, depending on what it is, can take a while and you have to go through multiple screens,” McCabe told Gazetteer SF. “But there’s a type of person who will still file a request if it takes five minutes, and a different kind of person who only wants to spend less than a minute to report trash.”
The moniker is almost comically presumptuous: The city’s myriad crises and intersecting failures can’t possibly be fixed by reporting problems on the street to the city’s 311 service, which processes complaints and redirects it to the relevant city department (say, Department of Public Works for illegal dumping).
But McCabe, who works primarily as an electrical engineer, believes that collecting more reports may be beneficial for transparency and the city’s analysis of its problems. He’s now leveraging Google’s AI model, Gemini, to help automatically identify and fill in responses to 311’s questions on a report. Like the better-known ChatGPT, Gemini is able to process images, text, and audio, making it possible for the Solve SF app to, for example, identify an illegally parked car from a picture and spit out a description.
“I don’t know if this will make response times go up if there are more people sending reports. But I think beyond that, a lot of people use this data — journalists, the city itself — to understand what’s happening,” McCabe said. “A lot goes unreported probably because it’s inconvenient to make the request.”
There was one element of the app, however, that should give you pause: The use of AI assistance to report unhoused people’s encampments on the sidewalk. The city’s massive ramp-up of sweeps have meant a lot more people are losing personal property and landing back at square one; Gazetteer has repeatedly observed rushed and aggressive enforcement actions by police and city agencies, such as the Department of Public Works, that claim they offer humane alternatives to unhoused people.
McCabe says he’s mulled the practical and ethical issues given the context. The crux is that AI is used by Solve SF to generate a description of the 311 problem, but a person’s encampment is far more complex than a pile of trash. And although an app user can just type in their own description, doing so negates the main draw of the app itself.
“When someone is reporting an encampment, what are they trying to say? What I’ve concluded so far, and my opinion may change on this, is that most people are trying to alert the city to someone experiencing homelessness and we should send someone with resources. But I’m left to fill in the blanks,” he told me.
It’s an honest non-answer, but it leaves a discomfiting possibility: That anti-homeless forces may use an app like Solve SF to snitch on, and harass, all manner of people under the guise of city blight. Then again, that’s not much different from how 311 already operates.
Perhaps the Solve SF app is better suited for simpler reports; a recent update has made it possible to automatically report illegally parked cars and blocked driveways, for example, and McCabe says he’s working everyday to tweak and add features.
“We need to tune the AI to be better at category tasks,” he added. “The ultimate goal is for the user to take a photo and just hit send.”