In production · Riverbend County Public Health
Cloud deployment FeaturedMultilingual environmental complaint intake
Result in one line: Median time from complaint to routed work order fell from two days to four minutes
Translates and classifies resident complaints about rodents, mold, noise and air quality from the 311 feed and web forms into inspector work orders.
Published May 2, 2026 Updated June 22, 2026 Verified July 15, 2026
- Skills needed to set it up
- Contractor or vendor
- Readiness
- Needs customization Needs a contractor Human review built in
- Data it touches
- Personal information (PII) Internal, non-public data
- Who sees the output
- Public-facing
- License
- Not open source — available on request
- Cost to stand up
- $100k–$500k
- Portable to other platforms
- Partially — with rework
- Use case category
- Administrative & task automation
- Reviews it went through
- Privacy review Security review or authority to operate Legal or contracts reviewEquity impact assessment
What do these mean?
- Contractor or vendor
- Outside help is required to stand this up.
- Needs customization
- Your team will need to adapt it before use.
- Needs a contractor
- Requires a contractor or vendor to implement.
- Human review built in
- A person checks the AI's output before it is used.
- Personal information (PII)
- Names, addresses, IDs or other personal identifiers.
- Internal, non-public data
- Non-public operational data without personal identifiers.
- Public-facing
- Residents or the general public interact with it.
- Not open source — available on request
- Peer jurisdictions can ask; say how in the access terms below.
- Partially — with rework
- Some pieces are vendor-specific and would need swapping.
- Administrative & task automation
- Forms, intake, scheduling, records — the routine work that eats staff time.
- Security review or authority to operate
- A security assessment, ATO or equivalent sign-off.
Problem
Complaints reach us in more than 20 languages. Before this project, a non-English submission sat in a queue until a bilingual staff member could read it, and the category it eventually received depended on which district office read it. Two people could file the same complaint about the same building and end up with different categories and different urgency.
What we built
A small AWS deployment that sits between the intake channels and the inspections database. A complaint arrives through the 311 API or the web form. It is translated to English while the original wording is kept on the record. A model then assigns one of eleven categories and an urgency tier using a fixed written rubric, and the result is written to the existing inspections database as a work order.
Tier 1 — the urgency level that pulls an inspector out the same day — is always confirmed by a person before the work order is released. Tiers 2 and 3 route automatically.
How it works
Everything is defined in Terraform: API Gateway, two Lambda functions, the translation and model calls, and the queue that writes to the inspections database. Raw complaint text is retained for 30 days and then deleted; the categorised work order is retained under the normal records schedule.
There is no public repository — the code is entangled with our inspections schema — but the architecture document walks through the IAM boundaries, the retention policy and the rubric, which is the part worth copying.
Results
Median time from complaint to routed work order dropped from about two days to four minutes. Category agreement between the model and staff, measured during a two-month shadow period, was 91%. The categories that disagreed most often — mold versus general housing — were merged, because the disagreement turned out to be a definition problem, not a model problem.
Residents also see faster acknowledgements, and complaints in less common languages no longer wait longer than complaints in English.
Lessons learned
Run a shadow period. Ours was two months of the model categorising alongside staff with no effect on routing, and it changed the category list before anyone depended on it. Keeping the original text visible next to the translation matters too — inspectors check it more often than we expected, and it is the only way to catch a translation that dropped a detail.
How to reuse
The architecture is generic; the rubric is not. Expect to write your own category definitions with the people who will act on them, then run a shadow period against real complaints. A contractor stood ours up in about six weeks, most of which was integration with the inspections database rather than the AI parts.
About
- Area of work
- Environmental health
- Communications & outreach
- IT & operations
- Review status
- Reviewed & approved
How it's built
- How AI is involved
- AI is part of the solution
- Types of AI
- Translation
- Classification & NLP
- AI tools & models
- Amazon Bedrock
- Amazon Translate
- AWS Lambda
- Terraform
- Where it runs
- AWS
Sharing & licensing
- Access terms
- The CloudFormation templates and the prompt set are shared with other health departments on request; email the contact below and we will add you to the private repository.
- Portability notes
- The intake logic and prompts are plain Python; transcription and translation use Amazon Transcribe and Translate, which another cloud would need to replace with its equivalents.
What it took
- Cost to keep running
- $10k–$50k/yr
- How it was bought
- Competitive solicitation
- Grant funded
- Who it affects
- Reaches every resident who files a complaint, including the 31% who file in a language other than English — the group the old queue served worst. We sample 40 translated complaints a month against a bilingual reviewer and track routing accuracy by source language; Haitian Creole and Amharic run below the others and stay on the review-everything list until they close the gap.
Data & access
- No PII/PHI in the shared material
- Yes
- Data sources
- 311 complaint API
- Web complaint form
- Inspections database
- Data-governance caveats
- Complaint transcripts contain caller names and addresses; they are retained under our environmental health records schedule and never leave the department's AWS account. Nothing in this entry or its screenshots is real caller data.