Skip to content

preCaution

Early in a routine lab protocol, piranha acid is prepared, used, and its spent waste poured into an acid waste carboy.

Core trick

Protocol steps are parsed into vessel-level events, and hazards come from PubChem and NOAA reactive-group lookups, not model memory.

Tags

Description

Early in a routine lab protocol, piranha acid is prepared, used, and its spent waste poured into an acid waste carboy. A step later, someone rinses sodium azide buffer glassware into that same carboy. The two are never combined in any single instruction. They meet in the vessel, because the waste goes to a shared container, and the azide reacting with the carried-over acid releases hydrazoic acid, which is toxic and potentially explosive. No ingredient-screening tool catches this, because catching it means reading the procedure as a sequence of vessels and events, not a list of chemicals. That is what preCaution does. It reads a scientist's free-text protocol and produces a short, sourced safety brief for that specific procedure, not a stack of data sheets to wade through. It flags hazards that come from the procedure itself: reagents combined in one step, or waste streams that quietly converge across steps through a shared vessel. It also flags where a step leaves something its chemicals' own safety data calls for unstated, like ventilation or waste handling, as a tentative prompt to confirm rather than a verdict. Every hazard claim traces to a live lookup, PubChem for GHS hazard data and a NOAA CAMEO-sourced table for reactive-group interactions, never a model's memory. The brief itself is composed by code with zero model calls, so there is no generation step where an ungrounded claim could slip in. The single claim that rests on Claude's reading of the protocol, that the azide enters that specific carboy, is marked unverified on screen. It is the only claim marked that way, so the marker carries weight. What I found building it: the safety data that exists in structured, queryable form is calibrated for industrial and hazmat chemistry and thins out fast for biological reagents. preCaution is honest about that boundary in its own output rather than papering over it. The person this is written for is usually a newcomer. In its first case study of an academic laboratory, following the 2010 Texas Tech University explosion that seriously injured a graduate student, the U.S. Chemical Safety Board found systemic failures in hazard evaluation and in oversight by the principal investigators and the institution: a critical exposure limit existed only as a verbal instruction, and none of the students the Board interviewed knew it. Those are precisely the gaps a newcomer is least equipped to catch alone. Existing lab-safety tools are systems of record for the institution. preCaution is a reasoning tool for the person at the bench, about to run a protocol they did not write.
theyuvrajgupta/PreCaution★ 00 forksPythonMITCreated Jul 8, 2026 · last push Jul 13, 2026

README excerpt

# preCaution

**Paste a written lab protocol. Get back a short, sourced, procedure-specific safety brief.**

Not another 16-section SDS to read. preCaution reads the steps you actually plan to run and tells you what is dangerous about *this* procedure, with every hazard traced to a public database.

> Claude read the protocol. Claude did not write the safety advice.

![preCaution reading the locked demo protocol end to end: paste the protocol, watch the pipeline stream, get back a sourced brief](docs/img/demo.gif)

![The step-5 sodium azide hazard card, citing its NOAA CAMEO reactive-group source](docs/img/hazard-card-azide.png)

*Sodium azide meets sulfuric acid three steps and one shared waste carboy later. Caught, cited, and traced to NOAA CAMEO. No inventory screener sees this, because the two chemicals are never named in the same sentence.*

Built for the **Built with Claude: Life Sciences Hackathon** (Builder Track, "Build Beyond the Bench"), in partnership with the Gladstone Institutes. [MIT licensed](LICENSE).

---

## Highlights

- **Catches cross-step hazards, not just same-sentence mixing.** preCaution tracks each chemical across the whole procedure (`added` / `carried_over` / `residual`), so it flags a reagent meeting another one several steps and a vessel-transfer later, which single-sentence scanners miss entirely.
- **Reads free-text protocols, not just clean numbered lists.** Paste a paragraph of bench notes. It segments the prose into steps first, then reads 

Team