Turn natural-language lab protocols into Opentrons scripts with citations for every extracted value.

Writing OT-2 protocols by hand means translating an experiment into Python, well by well. This makes it a review job instead — every value the model picked comes with a citation back to your words.

Hover the marked phrases. Every value in the spec carries a citation like that — that’s the point.

pipeline stages
7
gap detectors + suggesters
13
worked example protocols
13
typical run cost
~$0.20
  1. 01

    Extract

    Sonnet reads your instruction and emits a structured spec. Every extracted value carries a claim: this came from the instruction, here’s the verbatim quote, or this was inferred, here’s the reasoning.

    model claude-sonnet-4-20250514
  2. 02

    Resolve gaps

    Deterministic suggesters fill what they can (config lookups, well-capacity defaults). Haiku audits non-deterministic suggestions against your instruction. Anything the system can’t decide goes to you, one decision at a time.

    reviewer claude-haiku-4-5
  3. 03

    Simulate

    The generated Python script runs through Opentrons’ own simulator before output. If the simulator rejects the script, we surface the failure loudly — no silent broken protocols.

    verifier opentrons.simulate
  1. Every value carries provenance.

    Other tools generate code and hope. Here, every extracted volume, well, labware, and substance comes with either the verbatim quote from your instruction or explicit reasoning if it was inferred. You can audit any decision the system makes.

  2. A separate reviewer pass audits the LLM’s guesses.

    A second Claude call checks the values the system inferred — rather than quoted from your instruction — and can object before you decide, not after the protocol fails on the robot. (It runs in the same model family, so it’s a check, not a guarantee — see limitations.)

  3. The script is simulator-verified.

    Opentrons’ own simulator runs the generated Python before output. Code that wouldn’t actually load on the robot never reaches you.

The live UI mid-pipeline: instruction on the left, extracted spec with inline provenance checks in the middle, and a gap-resolution dialog on the right
Figure 1. The live UI mid-pipeline — instruction on the left, the extracted spec with inline provenance checks in the middle, and a gap-resolution dialog on the right where the model proposes a value for a missing field along with its reasoning. Faint arrows trace each extracted value back to its source in the instruction.