- Contribution
- Product / AI engineering
- Organization
- SF Mayor’s Office of Innovation
- Status
- Provider app shipped


I led product development and was a principal engineering contributor on Good Neighbor, a novel web app designed to leverage AI image analysis to streamline the burden of social services providers' efforts to track and improve street conditions around their sites. This helped make these critical operations more visible and defensible to the public.
Many providers operate in challenging street environments, with entrenched poverty and criminal activity on their doorsteps but unrelated to their own operations. This can make them easy targets for concerned residents and business owners who rightfully want to see improvements in street conditions, leading to the risk of loss of social license to operate and the closure of these critical social services.
The challenge we faced was to ensure that these sites could quickly and easily document their street conditions and show the good work they were doing, while also ensuring the City was accountable for the support these sites deserve and desperately need.
Build state capacity through agentic AI
The City of San Francisco has extremely limited in-house engineering capacity due to decades of outsourcing. This makes the City dependent on firms that are good at winning contracts but not always at delivering high quality human-centered products. I used agentic coding tools on this project to escape the procurement trap. I was product lead but also a major engineering contributor, supported by frontier lab agents. This was uniquely beneficial to the project as well as the City: being close to the scope, requirements, approach, and design, and then able to bring these to life through software engineering, reduced delivery time considerably and improved fidelity to design.
We also experimented with extending these tools to less technical team members. We developed a unique UI-only environment where designers could use their own agents to direct UI-only improvements but could not impact the backend or make structural changes. This increased our velocity even further: Good Neighbor went from idea to launch in less than three months, for a faster and more complex product than the five months of CareConnect.
Make effort visible and accountability reciprocal
On early site visits, social services providers showed us how hard they were already working to manage difficult street conditions. They were often suspicious of the City's Good Neighbor policy and expected the application to become just another administrative burden: the City has a complex and multi-layered compliance architecture, generating significant paperwork and time burdens on their contracted providers, and the expectation was that Good Neighbor Policy would become just another series of checkbox in a hard-to-use Microsoft-based platform.
That gave us our north star: center the needs of the providers, help them be more efficient and effective, and elevate their needs to key City departments. Reporting needed to be quick and straightforward. The application needed to recognize providers' work. The information they supplied needed to support a more responsive relationship with the City.
Start with how people actually work
We interviewed providers, visited sites, tested in the field, and met repeatedly with stakeholders as we developed the product. An early idea we had was to guide users spatially through perimeter checks. However, when we observed users on the street, we saw that the staff were experts in their own environments and didn't need a web app telling them where to go. As experienced practitioners, they were also looking for rapid response from a tool that was supposed to help them know what to do next - a much more rapid response than we had implemented so far.
We immediately simplified the flow around capture. Photos uploaded and analysis started as fast as possible, giving users feedback while they were still engaged in the perimeter check. We iterated on the small interactions that made the application feel responsive and helped people understand what was happening. The application also combined documentation with the next action: understanding an issue, recording work, escalating it when needed, and tracking what happened.
Give credit where credit is due
Some providers regularly do things that are above and beyond: they power-wash sidewalks, conduct active outreach, and extend their care work beyond their immediate site perimeter. But because conditions are so dynamic, it can be difficult to see the continuous evidence of this important work.
So we implemented proactive care-work reporting, to give staff a way to photograph and log what they had done. That record is then visible to City compliance managers, providing context for compliance discussions. It made more of the work legible than a simple snapshot of current conditions could show.
A good use for chatbots in government (finally)
The Good Neighbor policy is complex and only available on a City website that few know how to find. The app itself has novel workflows for many providers. Staff turnover in these difficult, poorly-paid jobs can be high. We needed a way to let staff quickly get answers to questions on policy and app use that didn't involve finding an obscure City site or wading through an FAQ.
We leveraged AI to build a lightweight chatbot embedded inside the app itself - another City-wide first - carefully parameterized to and bounded by all known policy documentation and the app's structure and FAQ material, to let users ask questions and get fast responses. We built on prior work on chatbot design by other teams within MOI, in a government setting where correctness is essential and drift is unacceptable.
Two-way 311
Most escalations to the City still go through the 311 system. A 311 integration was a minimum app requirement, but we wanted to make it as easy as possible. Leveraging the automated LLM materials returned with every photo analysis, we eliminated the need for a user to add any content to their 311 ticket request manually: one-click filing.
But we weren't done. We recognized that "gone on arrival" is a huge problem for City departments: certain reported issues - especially related to homelessness and drug use - can self-resolve by the time the department staff get to it. This wastes time and energy and is demoralizing for City teams. So we added the ability for providers to provide live updates on their filed 311 tickets. This is a Citywide-first.
Getting the 311 integration right required a close partnership with the 311 team. We socialied our plans early, demonstrated care with implementing the API, and earned their support for direct access.
See the workflow
The video shows a provider capturing photos, viewing analysis and suggested actions, and beginning to respond to the issues identified.



Conversation starters
I'm interested in civic tech, AI-forward opportunities in critical infrastructures (transportation, energy, healthcare); and advocacy collaborations and board service opportunities in transportation.
If you're working to make government more capable, companies more effective at delivering sustainable infrastructure, or cities better places to live, reach out.