Skip to content

Demo content Everything on this site is sample data shipped with the template. Configure it or follow the launch guide (opens in a new tab).

Idea / exploring · Cedar Valley County Health Department

Source code

Plain-language restaurant inspection summaries

Result in one line: 92% of drafted summaries passed the weekly style review without edits

Nightly job that rewrites inspector code citations into two-sentence summaries a resident can understand, for the public inspection lookup site.

Published February 20, 2026

Source code
Skills needed to set it up
Developer
Readiness
Needs customization Human review built in
Data it touches
Public data only
Who sees the output
Public-facing
License
MIT
Cost to stand up
No new spend
Portable to other platforms
Partially — with rework
Use case category
Communications, media & writing
Reviews it went through
Not yet reviewed
What do these mean?
Developer
A software developer to deploy or adapt it.
Needs customization
Your team will need to adapt it before use.
Human review built in
A person checks the AI's output before it is used.
Public data only
Only data that is already public.
Public-facing
Residents or the general public interact with it.
MIT
Permissive; reuse with attribution.
No new spend
Built with licences, staff and infrastructure the organization already had.
Partially — with rework
Some pieces are vendor-specific and would need swapping.
Communications, media & writing
Drafting, translating, summarising and publishing.
Not yet reviewed
Shared honestly — this has not been through a formal review.

Problem

Inspection results are already public, but they are written for inspectors. A resident looking up a restaurant sees “Red 5 — Improper hot holding, 118°F at steam table” and has no way to tell whether that means the food was dangerous, whether it was fixed, or whether it matters at all. We wanted a two-sentence summary a resident can read, without implying an overall verdict on the business.

What we built

A nightly scheduled query in BigQuery selects inspections recorded that day. A Cloud Run job sends each citation, along with the official code description, to a model with a tightly scoped prompt and a short set of style rules: no adjectives, name what was found, say whether it was corrected, and state any required follow-up. Nothing else.

Drafts are written to a review table rather than the public site. The food program lead reviews a weekly sample and approves or rejects each one.

How it works

The prompt is deliberately boring. It gets the citation text, the code description and the correction status, and it is told which sentence patterns are allowed. Anything that adds a judgement — “minor”, “easily fixed”, “serious” — is rejected in review, and the rejected examples are kept as a test set we run the prompt against whenever we change it.

All inputs are already-published data, which is why this project has been able to move without a governance review.

Results

This is still an exploration and nothing has been published to the public site. Over eight weeks of weekly samples, 92% of drafts passed review unedited. The failures cluster in one place: the model wants to reassure the reader, and reassurance is exactly what we are not willing to publish.

Lessons learned

The technical problem was solved in about a week. The open question is presentation, and it is a policy question rather than a modelling one. If a summary sits next to a restaurant name, residents will read it as a rating no matter how carefully it is worded, so we are testing layouts where the summary is one click in from the result list.

How to reuse

The repository has the query, the job and the style rules. It expects an inspections table with a citation code, a description and a correction flag; if your data has that shape, swapping the loader is a short job. We would rather hear from jurisdictions that already publish inspection data than from anyone who wants the prompt — feedback on how residents read these is what we need most.

About

Area of work
  • Environmental health
  • Communications & outreach
Review status
Reviewed & approved

How it's built

How AI is involved
AI is part of the solution
Types of AI
  • Generative text (LLM)
AI tools & models
  • Google Vertex AI
  • Gemini
  • BigQuery
  • Cloud Run
Where it runs
  • Google Cloud

Sharing & licensing

Portability notes
The summarisation code is plain Python; the prototype calls Vertex AI and would need a different model client elsewhere.

What it took

Cost to keep running
No ongoing cost
How it was bought
  • No procurement needed
Who it affects
Still an idea, so nothing has been checked. If it ships, the obvious hazard is a summary that reads harsher for a small independent restaurant than for a chain with tidier paperwork describing the same violation, and the summary would be published next to the establishment's name. That comparison is the first thing we would test.

Data & access

No PII/PHI in the shared material
Yes
Data sources
  • Food inspection results
  • Inspection code reference table
Data-governance caveats
Inspection results are public records; the summaries name establishments, not people, and inspector names are stripped before generation.