The COA
InputPhotos and scanned PDFs need an AI model that reads images: connect a vision model under Use a local AI model, or turn on Read COAs with under Use a cloud AI model.
Use a local AI modelOff
Reads any COA layout with a model running on your own computer through Ollama. The COA never leaves your machine. Setup steps
Use a cloud AI modelOff
Reads COAs, including photos and scanned PDFs, and answers questions in the Ask about this result box with Claude, or with OpenAI or any OpenAI-compatible service such as OpenRouter. It uses your own API key, so charges go to your account. Nothing goes to a server of ours. Pick which one answers in the Ask box.
Off by default: keys stay in this tab's memory and are gone when you close or reload it. If you turn this on, the keys are saved in this browser's storage in plain text. Don't use it on a shared or public computer.
When a cloud AI reads a COA, the COA's text or images are sent to that provider. When you ask a question, your question, this report, and the COA's results are sent. Both go under your account. Their usage charges apply. Keys are sent only to the provider you pick.
How it works. A parser reads the COA into a fixed set of fields. The compliance calls come from rules written in code, each tied to a statute or rule, so the same COA always gets the same verdict. You can correct any field the reader got wrong. Everything runs in your browser; nothing is uploaded, unless you choose a cloud AI in the Ask box, which sends your question and the report to that provider with your own key.
Compliance report
—How it works
A reader turns the COA into structured fields: the built-in parser, or an AI model if you connect one. Then plain code applies the selected state's rules. The same COA always gets the same verdict, and you can correct any value the reader got wrong.
Which limits apply
Where a state publishes its own contaminant limits, the checker uses them and flags labs that printed looser limits than the state's. Where a state doesn't, results are compared to the limits printed on the COA.
Run with a local model
1. Install Ollama and run ollama pull qwen2.5:14b. For scanned COAs and photos, also pull qwen2.5vl:7b.
2. Let this site talk to Ollama. On Windows, run setx OLLAMA_ORIGINS "https://your-site" in PowerShell, then quit Ollama from the system tray and start it again.
3. Open Use a local AI model above and click Connect. If your browser asks to let the site reach apps on this device, allow it.
About this tool
A portfolio project, not legal advice. Rules change; each rulebook shows the date its citations were last verified. Sample COAs are fictional.